home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacAddict 115
/
macaddict115.cdr
/
Software
/
Development
/
REALbasicMacOSX.dmg
/
REALbasic 2005 Release 4
/
Read Me
/
REALbasic 2005 Release Notes.txt
< prev
next >
Wrap
Text File
|
2005-10-10
|
179KB
|
3,621 lines
Key: [Opt] = Optimization
[Fix] = Bug Fix
[Afx] = Alpha or Beta fix. Fix for a problem recently
introduced.
[Imp] = Improvement on bug, but problems may still exist
[New] = New Feature
[Chg] = Changes Previous Functionality
[Kis] = Known Issue
[Wrk] = WorkAround
[WrB] = WorkAround broken as a result of bug fix.
[Nlr] = No Longer Reproducible, Reason Unknown.
Usually a consequence of some other fix.
[Tip] = Insight into the design of a feature, suggests
possible uses.
[Nte] = Note
[Dep] = Deprecated
[Pat] = Describes a backwards compatibility issue.
[Ref] = Major refactoring, functionality should be identical
to previous.
2005 Release 4:
[Fix] [All] Bounds3D: LineIntersection and LineSegmentIntersection now
work correctly in all cases; previously, they would return
invalid results for some inputs.
[Fix] [IDE] Code Editor: Find Next (as well as Replace & Find Next) now
works correctly for search strings that are only one
character long. (Feedback ID: wgyvbiay)
[Fix] [IDE] Code Editor: Undo and redo are less greedy, and now selects
the text when undone or redone.
[Fix] [IDE] Code Editor: When deleting code from the end of a method,
the line at the bottom of the code editor is now erased
properly. The code was deleted in previous versions, but
the editor was not being updated properly.
[Fix] [IDE] Code Editor: When selecting an entire line, the code editor
no longer selects the beginning of the next line.
[Fix] [IDE] Code Editor: When showing or hiding the declaration area,
the code editor scrollbar updates appropriately.
[Fix] [IDE] ComboBox: AutoComplete now shows up (works) again in the
properties list.
[Fix] [IDE] Container Controls: No longer need to be moved before being
properly parented. (Feedback ID: svvqujhi)
[Fix] [IDE] Control Parenting: Fixed a problem where controls on
container controls could lose their parenting if the
container control had PagePanels within PagePanels and a
window containing an instance of the container control was
opened in the IDE before editing the container control
itself.
[Fix] [IDE] Debugger: Breakpoints can now be set again after breaking
more than once.
[Fix] [IDE] Exporting: Exporting a folder will now append the proper
extension for the items within the folder.
[Fix] [IDE] External Items: All external items are saved when the
project is saved. This is a return to the Release 2
behavior.
[Fix] [IDE] External Items: Should now be much better about relocating
items when the relative paths to the items from the project
have changed.
[Fix] [IDE] External Items: When importing a project from 5.5, the
alias data on the Mac is used again.
[Fix] [IDE] Focus: When switching between tabs, the focus is retained
more reliably. E.g., when the focus is in the code editor
before running, after the run tab closes, the focus will be
in the code editor still.
[Fix] [IDE] Form Editor: Better handles laying out pagepanels within
pagepanels.
[Fix] [IDE] Form Editor: When duplicating (or copying and pasting)
controls that belong to a control array that have at least
one event implemented, the project no longer has stray
items in the code editor, and potentially compilation
issues.
[Imp] [IDE] Language Reference: Language Reference has been updated.
[Fix] [Win] MessageDialog: No longer displays the close, minimize and
maximize buttons.
[Fix] [IDE] Plugins: Constants inside of modules that are from plugins
are now Public instead of Global.
[Fix] [All] RbScript: RbScript no longer misinterprets the value of any
context object property whose type is Double. (Feedback ID:
gclmzaso)
[Chg] [IDE] Revert To Saved: Now reloads from disk rather than
unwinding the undo stack.
[Fix] [Lnx] SELinux: The Linux IDE, as well as built Linux apps, can
now run on Linux systems with SELinux (Security Enhanced
Linux) enabled.
[Fix] [Win] StaticText: No longer clips when resized in the window
editor.
[Fix] [Win] StaticText: No longer has redraw issues when changing the
text.
[Fix] [Win] StaticText: No longer leaks memory when assigning to the
Text or Caption properties. (Feedback ID: bxuouyty)
[Chg] [Win] StaticText: StaticText rolled back to pre-r3
implementation.
[Fix] [Win] StaticText: The MouseDown event no longer fires multiple
times for a single click, (Feedback ID: lxspzhmi)
[Fix] [All] Thread: App.SleepCurrentThread now functions properly even
if there's only a single thread.
This also fixed App.DoEvents not properly yielding time
back to the OS and your application consquently eating up
100% of the CPU. (Feedback ID: ygqwlxkn)
[Fix] [Win] Trimesh Textures: Are no longer flipped in the y-axis when
built for Windows.
[Fix] [IDE] XML Files: Projects with encrypted items are handled better
when exporting to XML.
[Fix] [IDE] XML Files: Properties containing attached notes are now
properly imported from XML.
[Fix] [IDE] XML Files: When reading in an XML window, class, or module,
properties that are public no longer are lost. (Feedback
ID: nrwllkhv)
2005 Release 3:
[New] [IDE] Application: Now checks for multiple instances of the
application on the same machine. If another instance is
found, then the project being loaded (if any) will be
displayed in the running instance instead of starting an
entirely new instance.
[New] [IDE] Application: Now has an auto-increment feature for
automatically incrementing the version information for your
project on each compile (including running within the
debugger).
[Fix] [IDE] Autocomplete: Now autocompletes read only properties at the
beginning of a line. For example, Picture.Graphics.
[New] [Win] BevelButton: Now has a GotFocus and LostFocus event to
alert you of focus changes.
[New] [Win] BevelButton: Now has an AcceptFocus as Boolean property
(which defaults to false) to allow the control to receive
keyboard focus. Pressing spacebar or enter while the
control has focus will fire its Action event.
[Fix] [IDE] Code Editor: Autocomplete no longer gets confused after
text containing non-ASCII characters. (Feedback ID:
vmskusxb)
[Fix] [IDE] Code Editor: Can no longer paste a property into a class
interface. (Feedback ID: pgqoyiss)
[Fix] [IDE] Code Editor: Changes to a control's name are now reflected
in the code editor immediately, even if it was already open
showing some different name. (Feedback ID: vhduyimt)
[Fix] [IDE] Code Editor: Control arrays now correctly show (or remove)
the "index" parameter when you change a control into a
control array or back. (Feedback ID: bbopcskv)
[Fix] [IDE] Code Editor: Declaration fields now commit their values
automatically when you create a new code item, rather than
requiring a press of the Tab or Return keys. (Feedback ID:
ydffqonl)
[Fix] [IDE] Code Editor: Doing a "super return" now honors the
"Autocomplete applies standard case" preference. (Feedback
ID: gzieiezl)
[Fix] [IDE] Code Editor: Double-clicking now correctly selects words
containing non-ASCII characters. (Feedback ID: vmskusxb)
[Fix] [IDE] Code Editor: No longer inappropriately shows the color
swatch when resizing the IDE while viewing constants in the
code editor. (Feedback ID: lwkpnvyc)
[Fix] [IDE] Code Editor: Now supports Shift+Insert, Ctrl+Insert,
Shift+Delete and Alt+Backspace keyboard shortcuts on
Windows (for Paste, Copy, Cut and Undo actions,
respectively).
[Fix] [IDE] ComboBox: AutoComplete is now listed in the properties list
again. (Feedback ID: dxvkkvgr)
[New] [Win] ComboBox: AutoComplete is now supported on Windows.
[Fix] [IDE] ComboBox: Now show the UseFocusRing property in the
properties window again. (Feedback ID: hoviuoas)
[New] [All] Compiler: Exit now allows the expanded syntax that Continue
works with. It also allows "exit sub" and "exit function",
to exit from the current function. Other than not being
able to specify a return value with "exit function", it
behaves the exact same as the return statement.
The expanded syntax includes:
exit // exits the current loop
exit [for | do | while] // exits the the first loop in the
hierarchy of the type specified
exit for loopVariable // exits the for loop identified by
the loop variable
exit sub // exits the current subroutine (same behavior as
the return statement)
exit function // exits the current function (same behavior
as exiting the function normally, in that it returns the
default return value)
[Fix] [IDE] Compiler: No longer fails an assertion in NameMangler.cpp
when certain syntax errors involving method parameter types
occur. (Feedback ID: qqqbjoms)
[New] [All] Compiler: Now has a "continue" statement, which allows you
to go to the next iteration of a loop. It has a few ways to
be used:
continue // continues to the next iteration of the current
loop
continue [for | do | while] // continues to the next
iteration of the first loop in the hierarchy of the type
specified
continue for loopVariable // continues to the next
iteration of the for loop identified by the loop variable
(Feedback ID: fijobzsy)
[Fix] [IDE] Compiler: Now truncates version information when building
Win32 applications where the version information is too
long to store into the executable.
Here are the current byte limitations for those entries:
Long Version: 79 bytes
Short Version: 39 bytes
Package Info: 253 bytes
Region: 21 bytes
Release: 11 bytes
[Fix] [IDE] Compiler: Parameters made optional with the "Optional"
keyword now use the default value for their type instead of
a random value. (Feedback ID: sgdbonfl)
[Fix] [All] Compiler: Using Exit to exit a function no longer returns
random values. It now returns the default value (the same
as if you exited the function regularly).
[New] [All] Constants: Added a new option to String constants. String
constants can now be dynamically localizable, which means
that it will generate and load up the values from the
proper language files on the given platform. On Mac OS X,
it will generate .lproj folders inside of a package that
will contain a single Localizable.strings file with the
values of the strings. On Linux and Windows, it will
generate .mo files as per the gettext format. The way to
specify the values for the languages remains the same as
before. (Feedback ID: kjpuetpn, kzlnxawy)
[Fix] [Win] Controls: Now draw propertly in the window editor when
running the IDE in Vista.
[Fix] [IDE] Debugger: Is now more reliable on Windows. For example, it
now determines that the application has terminated properly
with better accuracy.
[Fix] [IDE] Debugger: No longer throws internal errors when
encountering variants whose value is nil in certain cases.
(Feedback ID: fdemlkru,rihjysyh)
[New] [IDE] Debugger: Viewers for arrays of colors now draw color
swatches. (Feedback ID: qjkthvau)
[Fix] [IDE] Debugger: You can now view arrays of booleans. (Feedback
ID: esrjrswt)
[Fix] [IDE] Dialogs: Find, Show Bookmarks, et al now have the proper
tab ordering.
[New] [Win] DisclosureTriangle: Is now theme-savvy on Windows.
[New] [Win] DisclosureTriangle: Now has a GotFocus and LostFocus event
to alert you of focus changes.
[New] [Win] DisclosureTriangle: Now has an AcceptFocus property (which
defaults to false) to allow the control to receive keyboard
focus. Pressing spacebar or enter while the control has
focus will fire its Action event.
[Nte] [All] DisclosureTriangle: The default size of a disclosure
triangle has changed to accomodate themes on Windows. It's
now an 18x18 control (but the control is centered within
its bounds).
You will need to update existing DisclosureTriangle width
and height information manually. Failure to do so means
the control will clip for you on Windows with the theme
turned on.
Also note, the themed version of a DisclosureTriangle on
Windows ignores the facing value since the themed control
does not support it.
[Chg] [All] Dynamic Constants: Removed from r3, plan to reintroduce in
r4.
[Chg] [Win] EditField: Rolled-back the theme-savvy drawing
functionality of EditFields because of too many fringe
cases where the drawing was wrong.
All EditFields on Windows now draw with the standard OS 3D
look because Microsoft has never updated RichEdit controls
to be theme savvy.
[Fix] [IDE] Editor Tabs: Hitting Alt+Enter (on Windows and Linux) or
Option+Return (on Mac) now brings focus to the propeties
list. This provides you with a way to switch the focus
from the window editor to the properties list without
trying to edit a caption for a control.
[Chg] [All] Element3D: This new class has been extracted as a
superclass of Object3D. It takes all the properties
formerly defined on Object3D except for Shape and
ShapeCount, and all methods except those related to shapes,
and Clone. Group3D now stores Element3Ds instead of
Object3Ds.
[New] [All] Element3D.Render: This event takes one parameter, a
TQ3ViewObject, and provides Element3D subclasses an
opportunity to submit their geometry for rendering or
picking. View transforms for the element scale, rotation,
etc. have already been submitted; you only need to submit
your actual geometry. If all this is foreign to you, don't
worry about it; it's a low-level feature intended for
people who make declares to Quesa.
[New] [All] Element3D.ScaleVector: This new property on Element3D adds
support for non-uniform scaling. ScaleVector accepts or
returns a Vector3D where the three elements represent the
scale factor in the object's X, Y, and Z axes,
respectively. The Scale property remains available, and
returns ScaleVector.Length/Sqrt(3) (so that when
ScaleVector is <1,1,1>, Scale is 1). When you assign a
value to Scale, it sets all three components of ScaleVector
to that value. (Feedback ID: dtoqoosv)
[Fix] [All] EmailMessage: File attachments with appledouble mime
encoding show up in the attachments array.
[Fix] [All] EmailMessage: First letter of body no longer gets cut off.
[Fix] [IDE] Export: You can now export folders via the Export menu (or
contextual menu).
[Chg] [IDE] External code items: External code items no longer open up
another window when editing. They appear as another tab in
the project.
[Fix] [IDE] External Items: Project items stored as external files
(e.g., pictures) will now be found even when the folder
containing the project and files is moved, provided the
relative path from the project to the files remains intact.
(Feedback ID: pkbypxcb)
[Fix] [IDE] External Items: Projects that contain external encrypted
items can now be read in from 5.5.
[Fix] [IDE] External Items: The IDE is much better about resolving
external items relative to a project.
[Fix] [IDE] Find Dialog: Now lets the favorites and recent searches
buttons accept keyboard focus on Windows,
[Fix] [IDE] Find Window: Scope popup width is now restricted to fit the
dialog neatly, even in projects with very long names.
(Feedback ID: gzpnzhaa)
[Fix] [IDE] Find Window: The Find sheet no longer gets confused if you
attempt to open in two windows at once. (Feedback ID:
khwhtgim)
[Fix] [Win] FolderItem: Changed made to the name of a non-existant
FolderItem now stick.
[Fix] [All] GetTemporaryFolderItem: Now deletes the FolderItem
automatically when the application is shut down on Windows
and Linux. (Feedback ID: xysvvdph)
[Fix] [OSX] Graphics: No longer causes a message "CGGStackRestore:
gstack underflow" to appear in the console. (Feedback ID:
iyagsgfd,jzrynups,bixafjrf,oabhzoyz)
[Fix] [Car] Graphics: No longer will render drawing operations if done
to a canvas that is on a non-visible panel of a TabPanel or
PagePanel.
[Fix] [Win] GroupBox: When using DrawInto, now draws the disabled state
of the GroupBox properly on themed OSes.
[Fix] [IDE] HTMLViewer: You can now put an HTMLViewer on a window after
opening the Language Reference. (Feedback ID: zurjxamu)
[Opt] [All] InternetHeaders: Parsing internet headers is faster.
[New] [Win] IPCSocket: Handle now returns non-zero on Windows (it's a
handle to a WinSock SOCKET).
[New] [All] IPCSocket: Has two new properties: BytesLeftToSend as
Integer
and BytesAvailable as Integer. These properties behave the
same as their TCPSocket counterparts.
[Fix] [Win] IPCSocket: Is now drastically more stable on Windows.
(Feedback ID: lhvfbcne)
[Chg] [Win] IPCSocket: Now binds directly to the loopback interface on
Windows using a native socket control instead of trying to
use memory-mapped files for doing connections and data
transfer.
This method should not trigger any firewall warnings (if it
does, please report it). However, increased stability
comes at a cost, the control is slower now than before (but
is still faster than a TCPSocket).
[Chg] [IDE] Languages: Updated Lettish, Farsi, Byelorussian, Tajiki,
Pashto, Galla, Ruanda, and Faeroese to Latvian, Persian,
Belarusian, Tajik, Pushto, Oromo, Kinyarwanda, and Faroese,
respectively to match the names found in the ISO 639
specification.
[Fix] [Win] ListBox: Now draws properly themed when running in Vista.
[Fix] [Win] ListBox: Now honoring UseFocusRing on Windows.
[Fix] [IDE] Location Field: Now selects class and module constants when
you try to jump directly to them. (Feedback ID: xvzwseeg)
[New] [All] Material: This new class represents a material (e.g. color
or texture) in a 3D object. See the "New 3D Features Read
Me.txt" file for more details.
[Fix] [All] MemoryBlock: When using the comparison operator against
nil, valid memoryblocks returned from declares or from
MemoryBlock.Ptr will no longer always be true. Instead, if
the returned MemoryBlock wraps a nil pointer, it will
return true, but otherwise will return false. (Feedback ID:
btmydjke)
[Fix] [IDE] Mode Switch Buttons: No longer look like Aqua buttons on
Windows. (Feedback ID: udriotib)
[Fix] [Win] MoviePlayer: Assigning a movie that was obtained from
OpenURLMovie, now works with the Windows Media Player.
(Feedback ID: kygsfxzr)
[Fix] [Win] MoviePlayer: Play and Stop events are now fired when using
the Windows Media Player. (Feedback ID: rwyuyyle)
[New] [All] Object3D.AddShapeFromFile: now takes one additional,
optional parameter, insertPos, which indicates the position
at which the newly added shape should be inserted into the
object's shape list. If unspecified, the new shape will be
appended to the end of the list. This change also applies
to AddShapeFromString, AddShapeFromHandle,
AddShapePicture, and AddShapePictureWithMask. (Feedback ID:
gwdwhiki)
[New] [All] Object3D.MaterialCount: Provides a count of all the
materials that can be found inside the current shape of
this object. Note that while most kinds of materials will
be found, there may be some geometry types with materials
tucked away where REALbasic can't find them.
[New] [All] Object3D.Material(index as Integer): Lets you get or set
the indicated material within the object. Raises an
OutOfBoundsException if index is out of bounds.
[New] [All] Object3D.RemoveShape: this new method takes one integer
parameter, Index, and removes the shape at that index from
the object's shape list. (Feedback ID: gwdwhiki)
[New] [All] Object3D.ShapeCount: this new read-only property tells you
how many shapes have been added to an Object3D. The Shape
property will always return a value from 0 to ShapeCount-1.
(Feedback ID: gwdwhiki)
[New] [All] OLEObject: Added TypeName() As String function that returns
the type name of the object. (Feedback ID: mezesmal)
[Fix] [IDE] PagePanel: Deleting a pagepanel that's embedded within a
pagepanel no longer crashes. (Feedback ID: beywyjhj)
[Fix] [IDE] Picture Editor: No longer gives the focus to the scrollbars
on Windows.
[Fix] [All] Plugin Support: Plugins with classes that implement events,
and whose superclasses are also in the same plugin, now
work correctly.
[Fix] [IDE] Preferences Window: Cancel button now cancels preference
changes (previously, prefs were actually saved on Mac OS
despite clicking Cancel). (Feedback ID: ldtrqlzo)
[Fix] [IDE] Preferences: Corrected tab ordering in the Debugger pane.
[Fix] [IDE] Printing & Copying: Now properly indents source code
(again). (Feedback ID: qjjnvdgk)
[Fix] [Win] ProgressBar: Now draws in the indeterminate state properly
on Vista.
[Fix] [IDE] Project Tab: If you move the splitter more than a few
hundred pixels away from the right side of the window in a
new project, subsequent new projects no longer position the
splitter near the window's left side.
[Fix] [IDE] Project Tab: If you save a project with the properties list
stretched very wide, the project item list is no longer
initially invisible when you reopen that project.
[Fix] [IDE] Project: No longer can get in a situation where assigning a
menubar has no effect. (Feedback ID: oqdqohmt)
[Fix] [IDE] Properties Listbox: Can now select the "more" button (with
the ellipsis) in the properties listbox by hitting
Ctrl+Enter on Windows and Linux.
[Fix] [IDE] Properties List: Properties of subclassed controls now have
their correct behavior even after saving and reopening the
project. (Feedback ID: jsiogxql)
[Fix] [Car] Properties: Having default values and compiling for Mach-O
no longer crashes the application when instantiating the
class that property belongs to. (Feedback ID:
iqglbmoq,bboostbp)
[New] [All] Quaternion: Now has a copy constructor (e.g., q2 = New
Quaternion(q1)), as well as a Copy method (e.g.
q2.Copy(q1)), for easily making one Quaternion with the
same data as another.
[Fix] [] REAL SQL Database: Fixed bugs in the way local and UTC
time was being obtained.
[Fix] [Win] Registry: Value now returns a proper string when querying
REG_MULTI_SZ keys. (Feedback ID: noopkpoz)
[Fix] [IDE] Revert: Now reverts all the way back to the last save,
rather than only to the last time you ran the project. You
may also notice that you can now Undo past the last run of
the project, too.
[Fix] [Car] RGBSurface: No longer yields corrupted images if setting
pixels after already drawing the picture to the screen.
[Chg] [All] RGBSurface.Pixel: Setting a pixel value no longer clears
the high byte of a 32-bit pixel, since that byte may be
interpreted as alpha channel data when the picture is
exported to other applications. (Feedback ID: cqfkrzxt)
[New] [Win] ScrollBar: Now has an AcceptFocus as Boolean property
(which defaults to false. This allows you to have
ScrollBars for the window which do not accept keyboard
focus, as per the OS UI guidelines.
Note -- if you are relying on your scrollbars on Windows to
receive keyboard focus, you must modify your code to set
the AcceptFocus property to true.
[Fix] [IDE] Searching: Now searches within computed properties.
(Feedback ID: nhmpnrxt)
[New] [OSX] Serial: Now supports arbitrary baud rates in OS X 10.4 and
up.
[Chg] [All] ServiceApplication: The "Continue" event is now named
"Resume."
[Fix] [All] Split: Now functions properly when splitting a UTF-16
string using Chr( 0 ) as a separator.
[Chg] [Win] StaticText: Is now a true Win32 OS control. It should be
100% backwards compatible because the control is
owner-drawn (so the drawing behavior should be the same).
[Fix] [Win] StaticText: Now draws the disabled color using the true
system colors, so high contrast mode now displays the
disabled color properly.
[Fix] [Win] StaticText: Now responds to screen readers properly.
[New] [All] System.Network: Added a new function called WakeOnLAN that
allows you to remotely wake a machine on the LAN (assuming
the machine supports this feature). You can pass a
broadcast address or a direct IP address, in addition to
the MAC address of the machine you want to wake.
[Fix] [IDE] TabPanel/PagePanel: Adding a tab (or page) to a panel no
longer throws a NilObjectException under certain
circumstances. (Feedback ID: rvmbqpmy)
[Fix] [IDE] Undo/Redo: Now brings the affected editor tab to the front
when undoing or redoing an action. If no project item is
affected, then the project item editor is brought to the
front. (Feedback ID: jrazgbmn)
[New] [Win] UpDownArrows: Now has a GotFocus and LostFocus event to
alert you of focus changes.
[New] [Win] UpDownArrows: Now has an AcceptFocus property (which
defaults to false) to allow the control to receive keyboard
focus. Pressing the up arrow key will fire the Up event
and pressing the down arrow key will fire the Down event.
[Fix] [All] Variant: Can now be used with the ^ (pow) operator.
[Fix] [IDE] Window Editor: No longer crashes with a Stack Overflow when
controls are reordered in certain ways. (Feedback ID:
lobwrbbb)
[Fix] [IDE] Window Editor: No longer throws exceptions when a
previously-deleted control is on the edited window.
(Feedback ID: eaeambib)
[Fix] [IDE] Window Editor: Now drawing the window frame widget buttons
properly for themed versions of Windows (including Vista).
[New] [IDE] Window Editor: Now has a Check Keyboard Mnemonics
contextual menu item. This item will check for duplicate
keyboard mnemonic definitions and alert you of which items
are conflicting for the current view of the window.
Note that changing the value of a tab panel or page panel,
or setting a new MenuBar for the window is considered a
different view of that window and keyboard mnemonics must
be unique between views.
[Fix] [IDE] Window Editor: The window itself is now included in the tab
ordering, so you can select the window without having to
use the mouse (by hitting the tab key to advance thru the
controls on the window).
[Fix] [IDE] Window Editor/Code Editor: Renaming a control in the window
editor is now reflected in the code editor without needing
to close the tab and reopen it. (Feedback ID: trimyzkc)
[New] [Win] Window: Now has a MinimizeButton property to let you
control whether the minize button is enabled at runtime.
This is a design time-only property, and defaults to true
for backwards compatibility.
[Fix] [IDE] XML Export: Now saves notes associated with properties.
Note that annotated properties in XML files will not be
readable by older versions of REALbasic. (Feedback ID:
rwgypozz)
[Fix] [All] Xml: No longer leaks when calling various append methods.
(Feedback ID: pjjznqjj,rfgumccn)
2005 Release 2:
[Fix] [IDE] Add Bindings Dialog: Now responds to the space bar to
toggle the checkbox.
[Fix] [IDE] Application: Now enforces Integer data entry for Major,
Minor, Bug and Non-Release version fields.
[Fix] [IDE] Application: Renamed the "special" application property
Release to be StageCode instead (so it matches with the
runtime property) and made it into an Enum type.
[Fix] [IDE] Application: StageCode now defaults to "0 - Developement"
instead of staying blank.
[Fix] [IDE] Application: The Major, Minor and NonRelease version
information are properly constrained to values between 0
and 255.
[Fix] [IDE] Application: Version information now defaults to 1.0.0.0
instead of 0.0.1.0.
[Chg] [All] App.DoEvents: If the current method is running inside a
thread, DoEvents will simply yield to the main thread
instead of running one iteration of the event loop inside
the thread, thereby causing great confusion. Widespread use
of DoEvents is still a sign of poor application design, but
at least you can no longer hurt yourself with it quite so
easily.
[Fix] [IDE] Arrays: The Array function can now be used on the left hand
side of the dot operator: you can call methods on the array
it returns. (Feedback ID: wuketitg)
[Opt] [All] Array.Sort: Now faster and uses less stack space. (For the
curious, it's currently a QuickSort, but switches to an
insertion sort when dealing with fewer than 16 elements.)
[New] [All] Array.SortWith: This new method on sortable one-dimensional
array types takes one or more additional parameters, which
must be arrays of the same size (but any element type).
The additional arrays are reordered in the same way as the
base array.
[Fix] [IDE] Autocomplete: Now autocompletes AddressOf.
[Fix] [IDE] Autocomplete: Now autocompletes extension methods more
reliably, and on types that are not classes.
[Fix] [IDE] Autocomplete: Now autocompletes UBound. (Feedback ID:
apvssvko)
[Fix] [IDE] Autocomplete: Now works with arrays much better. (Feedback
ID: mtzjbjyg)
[Fix] [IDE] Autocomplete: When autocompleting in editfields, such as
the property type field, if you begin typing before the end
of the existing text, it no longer does funky things.
[Fix] [IDE] Build Settings Dialog: Is no longer resizeable on Windows
and Linux.
[Fix] [IDE] Build Settings: Can no longer even attempt to create a PEF
(Carbon or Classic) console application.
[Fix] [Mac] Canvases: When drawing using the Graphics instance returned
by Canvas.Graphics, no drawing occurs anymore when the
canvas is on a non-visible panel on a pagepanel or
tabpanel. (Feedback ID: viskwhac)
[Fix] [IDE] Clipboard Support: Properties copied from the code editor
no longer contain their declarations twice.
[Fix] [IDE] Clipboard Support: Text containing "as" is no longer
mistaken for a property when pasting into a code browser.
[Chg] [IDE] Code Browser: Now only retains focus if the item you are
clicking on is either the currently selected item, or is
not a source item (event, property, etc). Previously, it
would always retain the focus no matter how you clicked on
it.
[Fix] [IDE] Code Editor: Clicks below the bottom of the last line are
now properly interpreted as indicating the end of the last
line of source code.
[Fix] [IDE] Code Editor: Double clicking on words no longer selects
equals signs. (Feedback ID: jotxwtyr)
[Fix] [IDE] Code Editor: New methods added to a class interface are no
longer given scopes other than Public when the last method
or property edited was Protected or Private. (Feedback ID:
hzlmggsy)
[Fix] [IDE] Code Editor: No longer causes an internal error if you
attempt to cut an event instance. (Feedback ID: jlhhtltj)
[Fix] [IDE] Code Editor: No longer leaves gray autocompletion text in
place when you click and hold the mouse.
[Fix] [IDE] Code Editor: No longer shows the selection highlight in
dark blue on Windows whe the code editor does not have the
focus. Now the selection is the standard non-focus gray.
[Fix] [IDE] Code Editor: Now properly bolds code groups. (Feedback ID:
jgwknmzl)
[Fix] [IDE] Code Editor: Spurious characters on a color literal are no
longer invisible in the code editor.
[Fix] [IDE] Code Editor: The last line of source code in a method no
longer disappears when you click and hold the mouse to the
right of the line.
[Fix] [IDE] Code Editor: When going to locations that no longer exist
(ie, you have deleted the lines of code), there is no
longer an internal error. (Feedback ID: cdqdorcb)
[New] [IDE] Code Editor: When switching to properties, constants, and
event definitions, the editor will automatically expand the
declaration area for you. It will also remember the
previous state, and restore it when switching to another
item.
[New] [All] ComboBox: Now has a KeyDown event. (Feedback ID: jrgwwvkm)
[New] [All] ComboBox: Now has a SelStart and SelLength property
(Feedback ID: xqxmjtxu)
[Fix] [IDE] Compiler: Calling a function and passing in multiple
parameters that are converted via an Operator_Convert no
longer causes an error if NilObjectChecking is turned off
via the #pragma statment. (Feedback ID: scwabsqu)
[Fix] [IDE] Compiler: Converting non-constant singles and doubles to
integers now works properly. (Feedback ID: uqljqwdf)
[Fix] [Mac] Compiler: In certain circumstances related to complex
floating-point expressions involving ByRef parameters
and/or object properties, the compiler no longer mistakenly
overwrites the register containing an intermediate value,
yielding incorrect arithmetic results. (Feedback ID:
akqqyimc)
[Fix] [IDE] Compiler: No longer fails assertions when trying to compile
poorly formatted binary expressions, eg)
dim b as Boolean
b = () < 0 (Feedback ID: slxawjxc)
[Fix] [IDE] Compiler: No longer throws errors for MenuBars with corrupt
index information by trying to make them into cloneable
menu items. (Feedback ID: neqlitud)
[Fix] [IDE] Compiler: Now ensures that Win32 executables end in .exe.
[New] [IDE] Compiler: Now provides more helpful error messages when a
block-ending statement (such as end if or Next) is missing
from the end of a block. Instead of reporting a "syntax
error" at the end of a method, it will now report a
specific error message at the starting line of that block
(for example, "if foo then").
[Fix] [IDE] Compiler: Version information is now set in the built
executables correctly. Specifically, fixed the StageCode,
BugVersion and NonReleaseVersion information.
[Fix] [All] Compiler: When two classes inherit from the same superclass
that defines a protected member, you can now access that
protected member in one class from the other class without
explictly upcasting it to the class that declared it. For
example, consider class SharedParent declared a property
"Foo", and class A and class B both have a superclass of
SharedParent. From within class A, you can now access "Foo"
on instances of class B.
[Fix] [IDE] Compiling: If a constant has an error, it no longer throws
an assertion or exception. Instead, it now displays the
constant for you. (Feedback ID: fztshzmv)
[Fix] [All] ContainerControl: Resized event now fires even when
embedded in a window with LiveResize=True.
[Fix] [All] ContainerControls: No longer "bleed" through tab panel or
page panel pages. (Feedback ID: lpvuammh,ngavnhzc)
[Fix] [Win] Controls: Changing the caption of a control now properly
updates on Windows XP64. Also, the controls are now theme
savvy. (Feedback ID: pmxrcwbt)
[Fix] [Win] CountFieldsB/NthFieldB: No longer throws loader assertions
when used in an application. (Feedback ID: xmbtmgsp)
[Fix] [IDE] Database Browser Window: Now has resizeable columns when
browsing data. (Feedback ID: melkdoqx)
[Fix] [IDE] Database Editor: Now has the proper tab ordering.
[Fix] [IDE] Debugger: Arrays of variants now show up with all of their
values displayed. If the array element is an object
reference, it is now drawn as a clickable hyperlink.
(Feedback ID: fbarlcgg)
[Fix] [IDE] Debugger: Can now Copy from the debugger. (Feedback ID:
wppvvwze)
[Fix] [IDE] Debugger: Event implementations, assigns methods, extension
methods, and methods using ParamArray no longer show up in
the debugger with inexplicable punctuation marks preceding
their names. (Feedback ID: DebugStackFrame.DisplayName)
[New] [IDE] Debugger: Hyperlinks now have a contextual menu allowing
you to open the link in place or in a new window. (You can
still open in a new window by shift-clicking or
command-clicking, depending on your platform; this is just
a new way to get to the same feature.)
[New] [IDE] Debugger: New button jumps to an editor for the code you
are currently viewing. (Feedback ID: fmvmvaij)
[Fix] [IDE] Debugger: Now can close external windows with Command-W.
(Feedback ID: yzpwsudb)
[New] [IDE] Debugger: Object array viewers have an additional data
column displaying one property value for each object
instance. A popup menu lets you select which of the class'
properties this column will display. (Feedback ID:
mtzhrkuc)
[Fix] [IDE] Debugger: Object values in arrays are now displayed as
hyperlinks, as in other data viewers. (Feedback ID:
nhyhjpnz)
[New] [IDE] Debugger: The first and last lines of source are now shown
so that you can distinguish which items are passed as
parameters, as well as see where the execution point is
when you return from the method. (Feedback ID:
vlpdatln,bsfkzhoj)
[Fix] [IDE] Debugger: Variant variables are no longer blank.
[Fix] [IDE] Debugger: Viewing the contents of a string with nil
encoding no longer causes the IDE to fail with a
NilObjectException. (Feedback ID: lsfpffwv)
[Fix] [IDE] Debugger: When debugging a project on a remote machine
using a different processor architecture than the machine
the IDE is running on (debugging a Windows app from Mac OS,
for example), the target app will no longer crash when it
reaches a breakpoint or a Break statement.
[New] [IDE] Default New Project: If you have project in your Project
Templates folder called "Default New Project," it will
automatically be loaded when REALbasic is launched.
(Feedback ID: brwbtlvk)
[New] [All] Dictionary.Keys: this new method returns all the keys in
the dictionary, as a Variant array. The order is
guaranteed to be stable and to match the order returned by
Dictionary.Values, at least until the dictionary is
modified. Tip: use it with "for each" to easily iterate
over all keys.
[New] [All] Dictionary.Values: this new method returns all the values
in the dictionary, as a Variant array. The order is
guaranteed to be stable and to match the order returned by
Dictionary.Keys, at least until the dictionary is modified.
Tip: use it with "for each" to easily iterate over all
values.
[Fix] [Win] EditableMovie.Picture: No longer leaks memory when getting
a Picture from an EditableMovie.
[Fix] [IDE] External Items: When external items are locked and you save
the containing project, it will no longer gripe about the
items being locked. (Feedback ID: jpbeomqz)
[Fix] [IDE] External Windows: Once again compile even when they include
a custom control with an implemented event. (Feedback ID:
sgivqzqi)
[Fix] [IDE] Find Window: Recent Searches button now works properly.
(Previously, it would select a Favorite search instead.)
(Feedback ID: kuoshzsy)
[Fix] [IDE] Find: Regex searches now match even at the start of a line
(or other bit of text). (Feedback ID: bviwsbko)
[Fix] [Lnx] FolderItem.GetSaveInfo: GetSaveInfo now works properly when
mode is relative (1). (Feedback ID: twniianp)
[New] [Win] Icon Editor: Can now import .ico files on Windows from the
Add contextual menu. (Feedback ID: ygozamtd)
[Fix] [IDE] Implements Interface Dialog: No longer uses the default
scope rules, instead pulls the scope information from the
interface contract itself.
[Fix] [IDE] Importing: When importing a folder of items, if an item has
the same name as a folder when importing, it no longer
renames the class to not conflict with the folder.
[Fix] [IDE] Line, non-visible controls: Can now be positioned on the
window again instead of snapping back to original location.
(Feedback ID: sgadkroi)
[Fix] [IDE] List Bindings Dialog: No longer displays an & in the
window's title. (Feedback ID: uavwoddg)
[Fix] [All] Listbox: Drag-reordering of rows in a hierarchical listbox
no longer allows attempts to drag a folder into itself.
(Feedback ID: hjtcmkpx)
[Fix] [Lnx] Listbox: Listbox content now updates properly when the
ScrollPosition is changed. (Feedback ID: jixgyunp)
[Fix] [Win] ListBox: Now displays the selection highlight in gray when
the ListBox does not have the focus. This provides the
proper visual feedback for the user.
[Fix] [Win] ListBox: Scrolling listbox contents horizontally now
refreshes the headers properly. (Feedback ID: tsjvqbaw)
[Fix] [Car] Mach-O: Modules and static variables now show up in the
debugger. (Feedback ID: svubifcx,ywpxmkpy,uggsvxhq)
[Fix] [All] MemoryBlock: Comparing a MemoryBlock to nil will return
true if the MemoryBlock is nil, or if the MemoryBlock wraps
a nil pointer.
If you need to know whether the actual variable itself
references nil instead of wrapping a nil pointer, then you
should use the Is keyword, like this: if myMemoryBlock Is
nil then (Feedback ID: iygdedos)
[Fix] [IDE] Menu Editor: Can now toggle the AutoEnable property back to
true again. (Feedback ID: aeolyhrb)
[Fix] [IDE] Menu Editor: Descriptions of standard keyboard accelerator
keys no longer shows double ampersands. (Feedback ID:
ilntisyu)
[Fix] [Mac] MenuItem.PopUp, ConstructContextualMenu: Now creates a true
contextual menu item instead of using a popup menu. This
causes the first item in the menu to not be initially
selected (as is appropriate). (Feedback ID: evpzujga)
[Fix] [Mac] Menus: No longer stop working "after a while." For Carbon,
this meant quite some time, but for classic, the period was
short. This also fixes the IDE menus stop working after
some time. (Feedback ID: jdxexgms,zynopshi)
[Fix] [Car] Menus: Worked around a Tiger bug that causes menus to not
unhighlight properly in Carbon applications in certain
circumstances. (Feedback ID: bcalwkav)
[Fix] [Win] MessageDialog, MsgBox: No longer takes up huge amounts of
the screen for people with higher screen resolutions. Now
caps the dialog width at 512 pixels, regardless of
resolution. (Feedback ID: cieygjmi)
[Fix] [IDE] Multiple Errors Tab: No longer displays the selected text
in white on Windows or Linux. Now uses black for better
readability.
[Fix] [IDE] New Bookmarks Folder: No longer throws an exception when
clicking the close button. (Feedback ID: yojgguqr)
[Fix] [IDE] Old Projects: When reading in a project from 5.5 that built
Mach-O, the IDE no longer selects both PEF and Mach-O for
the build settings. (Feedback ID: jjssukdf)
[New] [All] OLEObject: Setting indexed properties is now supported.
The Value property of the OLEObject class can now take a
list of parameters when assigning a value.
Value( nameOfProp As String, params() As Variant ) =
newValue
For example, the Word.Document.Compatibility property is an
indexed property.
Dim word As New OLEObject("Word.Application")
Dim doc As OLEObject
word.Visible = True
doc = word.Documents.Add
Dim params(1) As Variant
params(1) = Office.wdNoTabHangIndent
doc.Value("Compatibility", params) = True
// or
// doc.Compatibility(Office.wdNoTabHangIndent)=True
[Fix] [Win] OLEObject/OLEContainer: Now better at handling events for
certain ActiveX controls. (Feedback ID: ncgqzwif)
[Fix] [IDE] Plugins: Mach-O only plugins now work again. As an added
benefit, they no longer need to be converted to either a
resource-fork based plugin or the RBX format. The dylib can
now simply be put in the plugins folder, and the IDE will
load it directly. (Feedback ID: mlvgcknb)
[Fix] [Car] Plugins: No longer crash the IDE when using a Mach-O plugin
in a console application. (Feedback ID: saijhvqe,jalcyohs)
[Fix] [All] Plugins: Properties that are on class extensions now
properly work when setting. This also fixes properties such
as MoviePlayer.Position and MoviePlayer.Volume.
[Fix] [IDE] Preferences: Fixed a handful of cosmetic issues in the
preferences dialog, such as caption fonts, sizes and
alignment.
[Fix] [All] Print, StdOut, StdErr: Now printing UTF-16 characters out
properly. (Feedback ID: srmfbzlx)
[Fix] [IDE] Project List: Changing the name of a folder no longer
requires that the folder not be named differently than
existing classes. This is the same behavior as 5.5 and
prior. (Feedback ID: xepkecfr)
[Fix] [IDE] Projects: If a project (XML or regular) somehow gets into a
state in which a control behavior exists, but has no
matching control, editing code for that window won't throw
an internal error. This could be caused in certain cases
from the VB Project Converter. (Feedback ID: evjhhzif)
[New] [IDE] Properties List: Color properties now show the appropriate
color when the value is set to a constant. For example, if
you have an accessible constant called "kYellow" defined as
a yellow color, and you set a color property to "#kYellow",
then the background of the property value will be filled
with yellow.
[New] [All] Properties: A new type of property is now available.
Computed properties are a property made of a Get and Set
pair. They can be added by choosing Add->Custom Property.
Implementing Get and Set are optional, so you can implement
either a read-only or write-only property. These properties
do not have any storage on the instance, but can be viewed
within the debugger. (Feedback ID: trsqqpbw, mvnwrkdh,
fsjdniqk)
[New] [All] Properties: Now can have default values. The default values
must be constants. For properties marked as Show in
Properties Window, the default value will be used when
placed on a window. Default values are not available for
computed properties. (Feedback ID: ltwwcuic)
[Chg] [IDE] Properties: When editing properties, there are now three
fields: one for the name, one for the type, and one for the
default value. The default value field is optional.
[New] [All] Random.Gaussian: This new method of the Random class
returns a number from a Gaussian (i.e. normal) distribution
with a mean of 0 and a standard deviation of 1.
[Fix] [Win] RB3D.GetPicture: Now works, instead of crashing. (Feedback
ID: tpwfzadf)
[Fix] [All] REALSQLDatabase: Calling Connect when already connected
just returns True if already connected.
[Fix] [All] REALSQLDatabase: Closing a database no longer sets
FolderItem to nil.
[Fix] [All] REALSQLDatabase: Plugged a memory leak that occurred when
closing a RecordSet.
[Fix] [All] RectControl.MouseWheel: Returning true from the MouseWheel
event no longer causes your application to stay resident in
memory when App.AutoQuit is true and you close the last
window. (Feedback ID: lnhpaltd)
[Fix] [All] RectControl.MouseWheel: Returning true no longer continues
to pass the event to the window.
[New] [IDE] Remote Debugger: The IDE now supports binding to a specific
interface for remote debugging.
[Fix] [IDE] Remote Debugging: No longer throws exceptions when the
remote target could not be located. (Feedback ID:
ugkzpmpc)
[Fix] [IDE] Remote Debugging: Now has better remote debugging UI for
things like file transfer status and failure cases.
[Fix] [IDE] Remote Debugging: Now works from Mac-to-Mac.
[Fix] [IDE] Search Results Editor, Multiple Errors Editor: Now responds
to the Enter/Return key to bring you to the location
selected.
[Fix] [IDE] Search Results Editor, Multiple Errors Editor, List
Bindings Dialog: No longer display the Aqua striped
background lists on Windows.
[Fix] [All] ServerSocket: Now returns the proper port information when
the socket is not yet listening.
[Fix] [IDE] Sound Files: System-7 sound files (of file type 'sfil') now
import correctly. (Feedback ID: twylmwgr)
[Fix] [All] StyledText: Calling StyleRunCount or ParagraphCount on a
StyledText objects not owned by an EditField no longer
corrupts the data within the StyledText object. (Feedback
ID: vrujvswf)
[Fix] [Mac] StyledTextPrinter: No longer leaks memory after each use.
(Feedback ID: qbzidsnz)
[Fix] [Win] StyleRun.Font: No longer returns garbage data when the
owning StyledText objecct is an EditField and you are
running a Windows NT-based kernel. (Feedback ID: tnihypla)
[Fix] [Mac] System.Cursors.Wait: The Wait cursor now uses the watch on
the Mac instead of the old black-and-white style spinning
cursor.
Note that it is against the HIG to display this cursor on
OS X. (Feedback ID: iqyvswmv)
[Fix] [All] System.IsFunctionAvailable: Now checks to make sure the
library name is sane before telling you that a function is
available. (Feedback ID: knjsoxhp)
[Fix] [Lnx] TabPanel: East/West facing tabs are now in their correct
position. (Feedback ID: eberedcx)
[Chg] [IDE] Tabs: No longer overlap when lots of tabs are open.
Instead, the names become truncated, starting with the
largest tabs first.
[Chg] [IDE] Tabs: When closing a tab, it will take you back to the last
tab you were on (which is not necessarily the tab that is
to the left or right of the current one). This means that
if you run your project and quit the debugged app, the tab
you will be on will be the same one as when you started
debugging. (Feedback ID: glviggyu)
[New] [All] Target constants: Introduced TargetBigEndian and
TargetLittleEndian for determining the byte order of the
system the application is built for.
[Fix] [All] TCPSocket: No longer throws a 103 error when trying to get
the RemoteAddress from a socket that's not connected.
(Feedback ID: zsbnndyz)
[Fix] [Win] Threads: Fixed a substansial memory leak when running a
thread on Windows. (Feedback ID: wensnfuw)
[Fix] [IDE] Upgade Dialog: No longer mistakenly thanks the user for
registering even if they cancelled the upgrade dialog.
(Feedback ID: vconeotk)
[Fix] [All] Variant: Illegal variant comparisons now throw a
TypeMismatchException. For example:
dim v as Variant = new Dictionary
if v = 1 then
MsgBox "La la la"
end if
Will now throw an exception. (Feedback ID: uifdhyjg)
[Fix] [IDE] Window Editor Behavior: Properties are now listed properly
in the Window Editor Behavior dialog. (Feedback ID:
nduovlsf)
[Chg] [IDE] Window Editor: Can now select multiple controls on a window
using either Shift or Ctrl on Windows and Linux. (Feedback
ID: fqyagwmn)
[Fix] [IDE] Window Editor: Changing properties by varying only case now
sticks. (Feedback ID: nbiywogt,haotgkrs)
[Fix] [IDE] Window Editor: Changing the Super of a control no longer
causes the IDE to display a "StackOverFlow" exception.
(Feedback ID: hymemjjs)
[Fix] [IDE] Window Editor: Clicking on the next/previous page buttons
on a page panel twice no longer is recognized as a double
click. (Feedback ID: nnxehidr)
[Fix] [IDE] Window Editor: No longer crashes if the window contains a
subclass of a ToolbarItem. As a side result, subclasses of
WordApplication, ExcelApplication, PowerPointApplication,
SpotlightQuery, and ToolbarItems now all draw with the same
icon as their superclass. (Feedback ID: bkilslrk)
[Fix] [IDE] Window Editor: Now draws the selection handles and
highlights using the proper colors depending on the OS.
[Fix] [IDE] Window Editor: Now gives proper visual feedback when the
mouse is over a control which can be moved.
[Fix] [IDE] Window Editor: Now honoring the parent highlight color
specified in the preferences dialog.
[Fix] [IDE] Window Editor: Now selects the window when you click on the
title bar (to start a drag, for instance).
[Fix] [IDE] Window Editor: Scrollbars around the editing area now
adjust properly after resizing the IDE window.
[New] [All] Window: Added property Focus As RectControl. Use this to
get/set the keyboard focus of a control. If no control has
the focus, this property is nil.
[Fix] [Car] Window: No longer will remain visible if hidden from a
thread while the app is hidden by the system.
[Fix] [All] Window: ShowModal and ShowModalWithin no longer confuse the
event loop if you call them from a thread.
[Fix] [IDE] XML Export: Binary data (such as icon images) is now
exported as <Hex> nodes, rather than as invalid UTF-8 text
data. (Feedback ID: kpgdxmzx)
2005 Release 1:
[New] [IDE] AcceptFileTypes: New design-time-only property on the
blessed application subclass called "AcceptFileTypes"
allows you to specify which file types the Mac build of
your application will accept via drag-and-drop. Click the
"..." button to more easily edit this list. (This replaces
the functionality of the "Document Icon" checkbox in older
versions of REALbasic.)
[Fix] [OSX] AddressBook: Accessing values via AddressBookData.Text is
now just as fast as AddressBookRecord.Value. (Feedback ID:
shbkeduw)
[Fix] [OSX] AddressBook: No longer crashes when getting nil date
values. (Feedback ID: mmofqqfs)
[Fix] [Mac] Apple Events: Can now be used from console applications.
(Feedback ID: robexgqy)
[Chg] [IDE] Application Launch: No longer checks for instances of the
IDE that are already running.
[New] [All] Application subclass: You can now have more than one
Application subclass. The most-derived one is the
"blessed" class, which displays all the build options, is
automatically instantiated, and is referred to by the App
function.
[New] [All] Application: Added a new event: CancelClose() as Boolean.
This fires _before_ all the Window.CancelClose events and
allows you the chance to cancel the application\'s
termination. This event will only fire if the application
is about to terminate. Returning true causes the
termination to immediately halt. (Feedback ID: ceyasesk)
[New] [All] Application: Added a new method YieldToNextThread to allow
the currently executing thread to give up its remaining
time slice and give a new thread the chance to run.
[New] [All] Application: Added CurrentThread as Thread to obtain the
currently executing thread. If this is the main thread,
this property returns nil.
[New] [All] Application: Added four new constants for the StageCode
property. Developement = 0, Alpha = 1, Beta = 2 and Final
= 3. (Feedback ID: nckbiyqi)
[New] [All] Application.BuildDate: this new read-only Date property
provides the date and time at which the application was
built.
[New] [All] Application.DoEvents: can now cause a thread to sleep for
an amount of time with a resolution finer than 16
milliseconds.
[Opt] [All] Arrays: Access time for elements of a two-dimensional array
has been reduced to less than half the previous time.
[New] [IDE] Autocomplete: Now autocompletes Static, and is aware of
Static declarations (ie, static Foo as Integer, Foo will
autocomplete)
[New] [IDE] Autocomplete: Now autocomplete's declares and soft
declares.
[New] [IDE] Autocomplete: Now knows about block-level dims. Items that
are declared inside of a different block will not
autocomplete when you do not have access to them.
[New] [IDE] Autocomplete: Now works with the new For loop syntax for
creating identifiers inline. Ie, for i as Integer = 0 to
100.
[Fix] [Lnx] BevelButton: A disabled BevelButton now looks and acts like
a disabled button. (Feedback ID: vwivpvqw)
[New] [All] BinaryStream: Now has two different constructors -- one
that takes a string, and one that takes a MemoryBlock.
This allows you to construct a BinaryStream from these two
items.\r\rIf a MemoryBlock is used, all BinaryStream
functions are supported. If the MemoryBlock was created
from a declare, then the Length of the BinaryStream will
always report -1.\r\rIf a String is used, then all
BinaryStream functions except writing and setting the
length are supported.
[New] [All] BinaryStream: When making a BinaryStream from a
MemoryBlock, the BinaryStream now automatically resizes the
underlying memory block for you.
[Nte] [IDE] Bindings: terminology has changed. We now call these
"visual connections" or sometimes just "connections" when
the context is clear.
[New] [All] Bitwise: BitAnd, BitOr and BitXor now allows more than two
integer to operate on and returns the progressive results
of the operation.
[Fix] [All] Bitwise: ShiftLeft and ShiftRight now return 0 if the
numBits parameter is <= 0. They also will throw an
UnsupportedFormatException if numBits > 32.
[New] [IDE] Bookmarks: Add Bookmark menu command now lets you choose a
folder in which to add a global bookmark, or choose to add
it to your local bookmarks bar.
[New] [IDE] Bookmarks: Now saved and restored. Local bookmarks (in
your bookmarks bar) are saved with the project; global
bookmarks are saved in the preferences file.
[New] [IDE] Bookmarks: You can now edit your global bookmarks by using
the "Show All Bookmarks" menu command. Local bookmarks can
be edited with the "Customize" command under the Bookmarks
Bar submenu.
[Fix] [IDE] Build Settings Dialog: No longer causes a failed assertion
on the Windows IDE when selecting the include function
names compiler option. (Feedback ID: cwdrpqzp)
[New] [IDE] Build Settings: These are now presented as properties of
your Application subclass. (But note that they are
actually stored with the project, so even if you delete
your Application subclass and create a new one, the
settings will remain intact.)
[Opt] [OSX] Built Apps: Now use 0% of processor time when there are no
items needing to be polled, and a reduced amount in other
cases.
[Nte] [N/A] Calling System.IsFunctionAvailable or using a soft declare
will cache both the library loading code as well as the
function pointer itself. So multiple calls to the same
function suffer almost no overhead costs when compared to
regular declare calls.
[Chg] [All] CancelClose: When the application is quitting, cancelclose
and close are called as a pair for each open window.
Previously every windows cancelclose event was called and
if none of them canceled every close event was called.
This change brings applications made with REALbasic more in
line with other applications from other vendors.
[New] [Win] Canvas: Added a new property EraseBackground as Boolean.
This property specifies whether the user wants us to erase
the entire canvas when doing operations like resizing. It
defaults to true for backwards compatibility and the flag
currently only affects Win32 code since that is the only
platform we erase the background on.\r\rIf the canvas has
no code in its Paint event, we ignore this property and
never erase the background (since the canvas will never be
painted).
[Fix] [Lnx] Canvas: Now clears the focus from previous control when the
canvas gains focus.
[Fix] [Lnx] Canvas: Now clips properly when getting the graphics and
drawing a picture on it. (Feedback ID: rtsbgnmd)
[Fix] [All] Canvas: REALbasic applications will no longer crash in
certain obscure situations. Once such situation follows:
if you have code in your mouse up of your canvas control
and the user clicks and holds on the canvas while pressing
the menu shortcut keys for quitting the application (e.g.
Cmd-Q) (Feedback ID: kweregsg)
[Fix] [All] Canvas: Setting the visibility no longer causes the Canvas
to redraw when the canvas is already visible.
[Dep] [All] ChasingArrows: Deprecated the ChasingArrows control.
Please use the ProgressWheel control instead.
[Fix] [Lnx] ClearFocus: ClearFocus and Window.SetFocus now properly
removes the focus from any control that had it.
[Fix] [Lnx] Clipboard: Adding a picture to the clipboard no longer
clobbers the text on the clipboard. Adding MacData now
works properly (no longer converts the data to UTF8).
[Dep] [All] Clipboard: Deprecated MacDataAvailable, please use
RawDataAvailable instead. Deprecated MacData, please use
RawData instead. Deprecated AddMacData, please use
AddRawData instead.
[Fix] [Win] Clipboard: Now properly sets and gets binary "MacData"
without running into issues with null bytes. (Feedback ID:
skrdoqqw)
[Opt] [IDE] Code Editor: Now much faster with longer methods for both
loading and typing.
[Afi] [IDE] Code Editor: Some items that previously wouldn't
autocomplete, such as MemoryBlock.Long, now do.
[Fix] [Win] ComboBox: Now fires the TextChanged event before firing the
Changed event when the combo box's selection changes (so
the behavior is the same as the Mac). (Feedback ID:
xnmltqxx)
[Fix] [Win] ComboBox: Now gets a MouseDown message when any part of the
ComboBox is clicked, not just when the thumb is clicked.
(Feedback ID: xswubwnb)
[New] [All] ComboBox: Now has UseFocusRing as a design-time property
(Feedback ID: ayobfjwy)
[Fix] [Win] ComboBox: Setting the text via code, and getting it back,
now returns the same text, instead of the text of the
previous selection. (Feedback ID: izrttnvq)
[Fix] [Win] ComboBox: Text no longer gets cropped, allowing you to edit
longer lines that do not fit within the combobox bounds.
(Feedback ID: jyoebvqe)
[New] [Mac] Combobox: The combobox now autocompletes (aka type-ahead),
turn on the "AutoComplete" property to enable. NOTE: as of
6.0a8 this is only implemented on the Mac, but we do plan
to add this for Windows/Linux as well. (Feedback ID:
noyrbfeb)
[Fix] [Win] ComboBox: The Window containing the ComboBox no longers
gets a KeyDown event when typing in the editable portion of
the control.
[Dep] [All] Compiler Constants: Deprecated TargetPPC, please use
TargetMacOSClassic instead. Deprecated Target68K without
replacement.
[New] [All] Compiler: A class can now implement the And, Or, and Not
operators using methods named Operator_And,
Operator_AndRight, Operator_Or, Operator_OrRight, and
Operator_Not. Operator_Not accepts no parameters, and the
others accept a single parameter of any type; all of these
methods must return a value.
[Chg] [All] Compiler: All methods are virtual now. Overriding works the
same way for methods of intrinsic classes as it does for
methods of classes in your project. (Feedback ID:
jvotjpbh)
[Fix] [IDE] Compiler: Applications are built next to their projects
instead of next to the IDE.
[Fix] [IDE] Compiler: Compiler builds applications using the names
specified in the build settings instead of calling
everything "RB6 App".
[Fix] [Mac] Compiler: Compiler no longer fails an assertion at
CGPPC:3120 when compiling certain absurdly large methods.
(Feedback ID: ulncjjqr)
[Fix] [IDE] Compiler: Compiler now reports errors using text strings
instead of code numbers.
[Fix] [IDE] Compiler: Compiling a line that contains many
multiplication operations (or mod, or integer division
operations), no longer corrupts the result. This fix only
affects Windows/Linux builds. (Feedback ID: ntiquwfr)
[Fix] [OSX] Compiler: Console apps are now built with no type or
creator code, so the Finder now recognizes that they are
not Mac apps and launches them in the Terminal instead.
(Feedback ID: cnznotwy)
[Fix] [Mac] Compiler: Exceptions no longer fail to pass up the stack
through a method that declares no variables. (Feedback ID:
tsvqrgsb)
[IDE] [All] Compiler: File system errors are now reported with a dialog
box instead of a silent failure.
[Fix] [All] Compiler: Finally block no longer fails to execute whenever
the exception was not handled by a Catch or Exception block
at the same level (try block or method). (Feedback ID:
zhzdvnsr)
[Fix] [IDE] Compiler: Fixed a boolean comparison bug for Windows/Linux
builds. (Feedback ID: sxcjwpqm)
[Opt] [IDE] Compiler: If you have any plugins in your Plugins folder,
they will now be prepared as needed. This will reduce
compile times for projects that use plugins. The plugins
will be prepared again when the contents of the Plugins
folder changes, or with new versions of REALbasic.
[Chg] [All] Compiler: Intrinsic type names Integer, String, Boolean,
Single, Double, and Color are no longer reserved keywords.
[Fix] [Win] Compiler: Methods that contain no reference-counted
variables no longer fail to propagate exceptions down the
stack.
[Fix] [All] Compiler: Methods which are identical except that one has a
parameter declared with ParamArray, and the other has a
corresponding parameter declared as an array of the same
element type, no longer cause ambiguous-overloading errors.
(Feedback ID: kemgrjlo)
[New] [All] Compiler: New "Static" option lets you declare local
variables whose values persist between method invocations.
Syntax is the same as the Dim statement; just use Static
instead.
[Fix] [All] Compiler: No longer reports error #22 (identifier already
declared) for every implementation of a control array
event. (Feedback ID: qkgpvddd)
[Fix] [All] Compiler: No longer throws failed assertions if a class has
the same name as an intrinsic data type. (Feedback ID:
zqmnjixw)
[Fix] [IDE] Compiler: Now complains when you try to do silly things
like have classes with the same name as a data type (such
as a class named CFStringRef or Short).
[Fix] [All] Compiler: Now reports an error when two methods in the same
class declare identical signatures. (Feedback ID:
ygajwnuy)
[New] [All] Compiler: Now supports module methods and global methods
defined in plugins.
[Opt] [Mac] Compiler: PowerPC backend produces better code (more
aggressive caching of local values in nonvolatile registers
across method calls).
[New] [All] Compiler: RB now supports an exponentiation operator, using
the caret character \'^\'. Its precedence is higher than
negation but lower than IsA or the dot operator. (Feedback
ID: eaasnaju)
[Fix] [IDE] Compiler: Reports a more useful error message when a new
class tries to reuse the name of an existing class ("This
name is already in use" instead of "Multiple inheritance is
not allowed", which made no sense at all).
[Fix] [All] Compiler: String constants can once again contain line
breaks. (Feedback ID: fxgzkxug)
[Chg] [All] Compiler: Temporary storage used during a Dim statement to
initialize an new variable is now released immediately;
this way objects which might otherwise not have been
destroyed til the end of the method will now be destroyed
closer to the point where the last explicit reference is
released. (Feedback ID: lgynrrfl)
[Fix] [IDE] Compiler: The compiler no longer fails an assertion at
FunctionCalls.cpp:824 when passing no arguments to a method
that has both an optional parameter and a ParamArray.
(Feedback ID: ssdqixiq)
[Fix] [All] Compiler: The compiler no longer includes global methods in
the search list when you qualify a method call with the
owning module's name. (Feedback ID: iprshijx)
[New] [All] Compiler: The Dim statement is now legal anywhere in a
method. Variables declared inside a statement block go out
of scope at the end of the block. (Feedback ID: xhbwkvvn)
[Fix] [OSX] Compiler: The Mac OS X 10.2.8 dock no longer rejects
dragged-in Mach-O applications built with REALbasic.
(Feedback ID: jkkqfdow)
[Fix] [OSX] Compiler: The PkgInfo file now goes inside the Contents
directory instead of the root of a Mach-O application
bundle. (Feedback ID: fcfgrzcr)
[Fix] [All] Compiler: When a class implements an interface method
declaration with a private method, and a subclass does not
provide its own implementation for that method declaration,
casting the subclass to the interface type and calling the
method no longer causes a crash. (Feedback ID: hmdrnlug)
[New] [All] Compiler: When using "multiple errors" mode, the compiler
no longer stops after the first syntax error.
[Fix] [OSX] Composite Windows: ClearRect now longer erases to white but
erases to show what is underneath (i.e. metal window,
background picture, controls, etc.) (Feedback ID:
ixpjfcrh)
[New] [IDE] Connections: existing projects with connections (formerly
known as bindings) can now be loaded and compile
correctly.
[New] [IDE] Connections: may be established between a control and its
window. Do this by selecting just one control, then
clicking the Connect button. Note that there are currently
no built-in connections which apply to a control and a
window, but you could write some yourself.
[New] [IDE] Connections: new visual connections can be created by
selecting two controls and clicking the "Connect" button in
the window editor toolbar. (You may need to configure the
toolbar to have this button.)
[Nte] [IDE] Connections: visual connections are drawn in the window
editor, but they are not selectable. Use the "List
Connections" command bar button to see the descriptions or
delete a connection.
[New] [IDE] Connections: You can list all the visual connections on a
window using the "List Connections" button on the window
editor toolbar (you may need to configure the toolbar to
have this button). You can also use this dialog to delete
an existing connection.
[Fix] [IDE] Console Application: Can now add HTTPSocket, SMTPSocket, et
al from a console application. (Feedback ID: kwjrysui)
[Fix] [OSX] Console Applications: No longer generating
kCGErrorRangeCheck warnings to be written out to the
console when executing the application as a user who is not
currently logged in. (Feedback ID: redzhjad)
[Fix] [Lnx] Console Applications: No longer rely on GDK (gdk-x11-2.0),
GLib (gmodule-2.0, glib-2.0) or CUPS (libcups).
[Fix] [Lnx] Console Applications: Removed dependancy on CUPS for
console applications since you can\'t print.
[New] [IDE] Console Applications: You can now open old projects with
console applications and build them.
[Fix] [IDE] Constants editor: In the Windows IDE, typing a \'j\' in the
Value editfield no longer closes the dialog. (Feedback ID:
lwasmqjf)
[Chg] [All] ContainerControl: Renamed EmbeddableWindow to
ContainerControl.
[Fix] [Lnx] Contextual Menu: Opening a contextual menu no longer hogs
all (or most) of the CPU.
[Fix] [Win] Contextual Menus: We now fire a MouseDown event when a
contextual menu key is fired (either Shift+F10 or the
Contextual Key on some PC keyboards) and set IsCMMClick to
true. (Feedback ID: peammots)
[Dep] [All] ContextualMenu: Deprecated UseCMM, please use UseMacCMM
instead.
[Fix] [Win] ContextualMenu: The string that is returned, as a parameter
from the Action event, now has its encoding set properly.
[New] [All] Control Locking: LockLeft, LockTop, LockLeft, and LockRight
now apply to the parent control instead of the window.
This means that if you lock a control to a tabpanel for
example and the tabpanel resizes the embedded controls will
also resize
[New] [IDE] Controls List: You can now add custom controls or
embeddable windows directly to another window, using the
new popup above the controls list. NOTE: You must add the
items as project items before you can add them to the
window.
[Fix] [Mac] Controls: Certain controls, such as the Separator and
BevelButton, no longer cause crashes in certain, rare cases
where one window is closing and another window containing
these controls was being created.
[Fix] [Win] Controls: Controls no longer disappear if that control is
embedded on an indexed control (part of a control array),
and that indexed control is on top of another control, and
so on and so forth... (Feedback ID: zrgjpmrp)
[Fix] [All] Controls: Controls no longer retain pointers to their
owning windows after closing. This would cause a crash if a
control was destroyed after its owning window, which might
occur if some other object held a reference to the control.
(Feedback ID: qcxorlzx)
[Chg] [Win] Controls: No longer have their action event fired when they
are right-clicked on (this change excludes the
ContextualMenu, which will still fire its Action event when
a menu it selected). This change allows Win32 applications
to behave as expected. (Feedback ID: zyklpgbu)
[Fix] [Win] Controls: Now have their MouseUp event fired after
displaying a ContextualMenu (assuming you returned True
from the MouseDown event).
[Fix] [IDE] Control.Close/EmbeddableWindow.Close: No longer causes
crashes in some cases.
[Fix] [Win] ConvertEncoding: Converting a string to ASCII now works
properly, instead of converting it to Windows Latin-1.
[Nte] [All] CriticalSections: Note that you can shoot yourself in the
foot with a CriticalSection by calling Enter on a thread,
suspending another thread by having it call Enter as well,
and then having the first thread set the CriticalSection to
nil because the CriticalSection will never actually be
destroyed. This is because the second thread still holds a
reference to it. Be sure to call CriticalSection.Leave
before you nil the object out!
[Fix] [Lnx] CStr, Str, Format: Number to string conversion now works
properly for all locales. (Feedback ID: wrdjszuy)
[Fix] [OSX] Daemonized Applications: No longer crash when calling Len
on a string with a nil encoding.
[New] [All] Database: Added Function IndexSchema( tableName As String)
As RecordSet to the Database class. It takes a TableName
as a parameter, and returns a RecordSet containing the list
of indexes for that table, or nil if the database backend
does not support indexes
[New] [All] DatabaseField: Added Operator_Convert to String, Date,
Integer, Double, and Boolean.
[Fix] [Lnx] Database: Getting a date/time/timestamp value from a
database now returns the correct value. (Feedback ID:
qokmepyv)
[Fix] [All] DatabaseQuery: Data retrieved from the DatabaseQuery
control now properly handles encodings (for database
plugins that properly implement the new string database
field type).
[New] [All] Datagram: Now has a Port property that allows you to
specify which port the packet should be sent to when using
.Write. If the port property is left at 0, then we send to
the same port that you are locally bound to.\r\rWhen
reading Datagrams in, the Port property specifies the port
that the datagram was sent from on the remote machine.
(Feedback ID: dungbjlg)
[Fix] [Win] Date: Now clearing the millisecond precision when
excplicitly setting the seconds field.
[Fix] [Win] Date: Now works properly on the fringe cases when doing
date math (such as causing the minutes to be exactly 60).
(Feedback ID: etdtpgwj)
[New] [OSX] Date: On Mac OS X 10.3 and later, LongDate, ShortDate,
AbbreviatedDate, ShortTime, and LongTime will now return
strings based on the user\'s locale even if the user\'s
locale is an Unicode only locale.
[Fix] [Win] Date: WeekOfYear now returns proper information instead of
sometimes being off by one.\r\rAnd to recap what the
documentation doesn\'t state, this property returns the
calendar week of the year in a 1-based form. So if Jan 1
falls on a Sat, then Jan 2 is the 2nd week of the year.
(Feedback ID: qlbtajth)
[IDE] [All] Debugger: Debug versions of applications are once again
named specially so they don't overwrite the release
versions.
[IDE] [All] Debugger: Debugger once again cleans up after itself by
deleting .debug versions of apps
[Fix] [IDE] Debugger: No longer runs uncontrollably when trying to
debug an EasyTCPSocket or EasyUDPSocket object.
[Fix] [IDE] Debugger: The "current line" arrow no longer points to the
line after the current point of execution when the debugger
responds to a Break statement or exception.
[New] [IDE] Debugger: When you pause a running application that is
idling in the event loop, it now pauses immediately instead
of waiting until the next time an event fires.
[New] [IDE] Declares: Added three new data types for use with Declares
only: UShort for an unsigned 16-bit integer, Byte for a
signed 8-bit integer, and UByte for an unsigned 8-bit
integer.
[New] [All] Declares: Can now pass "Nil" to a declare parameter of type
Ptr. Note that passing Nil is not the same as passing a
nil MemoryBlock. The former is a constant and the latter
requires a conversion operation at run time. If the
MemoryBlock is nil, then the conversion operator will
generate a NilObjectException. However, this isn\'t a
problem when passing the constant Nil as no conversion is
needed. (Feedback ID: esgmuypg)
[New] [All] Declares: Can now soft-link (also known as weak-link)
declares using the new keyword "Soft". Ie)\r\rSoft Declare
Function Foo Lib "Bar" () as Integer\r\rIf the function
cannot be loaded, then trying to call the function will
raise a FunctionNotFound exception.\r\rThis provides you
with the ability to weak-link functions that are resolved
at runtime instead of at launch time for your application.
(Feedback ID: fijdrbur)
[Fix] [OSX] Declares: Can now use LibraryName.Framework as the Lib
string when making Mach-O declares.
[New] [All] Declares: Now have two new automatic types: WString and
CFString.\r\rYou can use these two new types when making
declares that would need a wchar_t * or CFStringRef
(respectively). Their usage is the same as with CString,
and all data is cleaned up when appropriate (meaning that
we call CFRelease on the string when it goes out of scope).
(Feedback ID: giisinzy)
[Fix] [Lnx] Declares: Now properly resolve declares that use an
absolute path to the library and the library is a symbolic
link.
[Chg] [IDE] Declares: Renamed the special declare type CFString to
CFStringRef so we don\'t break a lot of code.
[New] [All] Declares: You can now pass nil in place of a CString,
WString, CFStringRef or PString.
[Fix] [All] Declare: You can now use WindowPtr for declares on Windows
and Linux as well as Mac.
[Fix] [All] DefineEncoding: no longer modifies the encoding of the
source string in rare cases (i.e. when there is only one
reference to the source string). (Feedback ID: upzgkisu)
[New] [All] Dictionary: A new method Lookup has been provided. Its
signature is "Lookup( key as Variant, defaultValue as
Variant ) as Variant". If the key isn't found, the
defaultValue parameter that is passed in will be returned.
If the key is found, the correspoding value will be
returned. (Feedback ID: hdkvvhag)
[Fix] [Win] DisclosureTriangle: Now centered vertically on Windows and
Linux, just like the Mac.
[Fix] [Lnx] DisclosureTriangle: Now draws transparently so the
background shows through.
[New] [IDE] Document windows: now keep track of when they have been
modified, and when you close the last one for a particular
document, you are prompted to save changes.
[Fix] [Win] Drag & Drop: Dragging and dropping a file that contains
unicode characters on non-NT Windows, now has the correct
encoding set.
[Chg] [Win] Drag & Drop: No longer deletes text from editfield when
dragging from editfield to another control (except when
dropping text on to another editfield, in which case, hold
down the Ctrl key to complete a copy operation). (Feedback
ID: ljtugplv)
[Dep] [All] DragItem: Deprecated MacDataAvailable, please use
RawDataAvailable instead. Deprecated MacData, please use
RawData instead. Deprecated PrivateMacData, please use
PrivateRawData instead.
[Fix] [All] DragItem: DropLeft and DropTop now return proper values
relative to the control, rather than relative to the
window. (Feedback ID: hwhajddw)
[Fix] [Win] DrawPicture: Drawing a 24-bit picture with mask now works
properly.
[New] [All] EasyTCPSocket: Added a timeout parameter (the timeout is in
seconds) to WaitForMessage to allow you a graceful way to
stop waiting for a particular message.
[Fix] [All] EasyTCPSocket: No longer fires messages in the incorrect
order (or drops message altogether). This would only occur
if two messages came in real quickly with the same command
id.
[Chg] [All] EasyTCPSocket: WaitForConnection\'s timeout parameter is
now specified in seconds (instead of ticks) to be
compatible with HTTPSocket\'s timeout parameters.
[Fix] [All] EditField: Can now use a mask for Uppercase and Lowercase
that works.
[Fix] [Car] editfield: Dragging text is no longer allowed for
editfields with the password boolean set to true (Feedback
ID: rwzddbdz)
[Fix] [Win] EditField: Getting style information (such as calling
StyleRunCount) is now significantly faster (test
applications went from about 75 seconds to 8 seconds).
(Feedback ID: ywfcrzhx)
[Fix] [Win] EditField: LineNumAtCharPos returns 0 based information in
all cases, not just some cases. (Feedback ID: ieqeaobj)
[Fix] [Lnx] Editfield: Masks now work (Feedback ID: luzcgsvr)
[Fix] [OSX] EditField: No longer crashes when using the mouse wheel
while holding the shift key, when there is no horizontal
scrollbar.
[Fix] [Win] EditField: No longer crashes when you close an EditField,
its parent or quit from the KeyDown event. (Feedback ID:
gvchxidz)
[Fix] [Win] EditField: No longer fires the MouseDown event when the
EditField is disabled. (Feedback ID: plejduaz)
[Fix] [Win] EditField: Now accepts file drops. (Feedback ID: hbfaenry)
[Fix] [Win] EditField: Now drawing a theme-savvy EditField when the
control does not have its Multiline or Styled properties
set. (Feedback ID: wvedchzp)
[New] [OSX] EditField: Now enables and disables secure input on Mac OS
X 10.3 and higher if EditField.Password is set to be true.
(Feedback ID: ymsofozo)
[Fix] [Win] EditField: Now properly handles symbolic fonts, such as
WingDings. (Feedback ID: ahogckjm)
[Fix] [OSX] EditField: Now returns proper information when querying the
StyledText object\'s Color property. (Feedback ID:
wtbqjcas)
[Fix] [Car] EditField: Now supports cmd+left, cmd+right, cmd+up, and
cmd+down shortcuts per Apple standards. (Feedback ID:
qbjsuwvc)
[Fix] [Lnx] EditField: Now wraps to the nearest character if the word
is too long (requires GTK+ 2.4)
[Fix] [Lnx] EditField: Setting the alignment on a single-line editfield
now works. Note, this feature requires GTK+ 2.4, otherwise
setting the alignment does nothing.
[Fix] [All] EditField: Setting the text to a global or public property
no longer crashes when, in your TextChange event, set the
global or public property back to the EditField.text
property. (Feedback ID: uvsfmfpr,zaqjhycr)
[Fix] [Win] EditField: Text dragged into a Password EditField no longer
remains readable. (Feedback ID: ckvionvj)
[Fix] [Win] EditField: The F keys now generate KeyDown events properly.
(Feedback ID: kmlytnws)
[Fix] [OSX] EditField: The input method can once again be changed from
the keyboard (by pressing command-space) for EditFields on
a TabPanel or floating window. (Feedback ID: dngcdnuy,
xokypylj)
[Fix] [Car] EditField: When an EditField has a mask, and you paste in
text with unknown encoding, it no longer throws a failed
assertion. (Feedback ID: ohowhkhi)
[Fix] [Lnx] EditField.SetTextAndStyle: Now works properly
[Opt] [All] EditField.StyledText: Sped up setting the styled text
object of an EditField. (Feedback ID: bdajdpiw)
[Fix] [All] EmailMessage: EmailMessages that do not contain a
Content-Type header are parsed correctly. (Feedback ID:
dlpvkdla)
[New] [IDE] Embeddable Windows: Windows that are visually embedded on a
form now draw themselves in the window/form editor.
[Fix] [All] EmbeddableWindow: EmbeddableWindows no longer ignorant of
intended parent controls.
[New] [All] EmbeddableWindow: EmbedWithin can now take a control as its
second parameter (instead of a window). The
embeddablewindow will embed on the control\'s window with
the given control as the parent. Left and Top are parent
control relative. Using the window version of embedwithin
will now always set nil as the parent. If the
embeddableWindow is embedded on a pagepanel or a tabpanel
it is embedded on the current page. For embedding on a
pagepanel or tabpanel we suggest you use "EmbedWithinPanel"
instead. \r\rSyntax
Options:\r\rEmbeddableWindow.EmbedWithin ContainingWindow
[,left] [,top] [,width]
[,height]\r\rEmbeddableWindow.EmbedWithin ContainingControl
[,left] [,top] [,width] [,height]
[New] [All] EmbeddableWindow: Parent and Window properties added to
embeddable window. Parent gives the enclosing control, and
Window gives the enclosing window. If embeddedWindows are
nested you may have to call window several times to get the
topmost window.
[New] [All] EmbeddableWindow: You can now embed a window on a specific
page of a page panel or tabpanel. For this you would use
EmbedWithinPanel.\r\rSyntax:\rEmbeddableWindow.EmbedWithinPanel ContainingPanel, Page [,left] [,top] [,width] [,height]
[New] [All] EmbeddableWindow: You can now embed one window in another.
This is very useful if you want to dock windows, or create
custom controls that are made up of other controls. Make
sure the window\'s super is set to embeddableWindow. There
are some minor but key differences between embeddable
windows and regular windows.\r1. EmbeddableWindows do not
auto-instantiate. You must create them with new, just like
any other object\r2. The open event for the window and its
controls do not fire until it is actually embedded (Call
EmbedWindow), or shown as a independant window
(ShowAsWindow, ShowModal, ShowWithin, ShowModalWithin, note
Show will just change the embeddableWindows visibility it
will neither embed it or show it as a stand-alone
window).\r3. All the controls and the window properties
(with the exception of handle exist in the constructor and
after). This allows you to change the frame type of the
window after its created but before its shown.\r4. You can
add new events to these windows (this may not be available
in RB6a1 IDE) so that you can use them to create custom
controls.\r5. Some events, properties, and methods of the
window class do not do anything if in embedded mode (e.g.
minimize event)\r6. Menu Handlers on the embeddableWindow
are installed on the containing window (overwriting
existing ones) unless the embeddableWindows acceptFocus
property is set to true in which case they are installed on
the embeddedWindowControl.\rNew Methods of
Window\rEmbedWindow windowToEmbed, [x], [y], [width],
[height]\rEmbeddable Window methods\rShowAsWindow
embeddableWindowToShow
[Fix] [All] EncodeURLComponent: Now correctly encodes to the
specification. Previously certain characters may not have
been encoded. (Feedback ID: josgyqqc,owpbmddu)
[Fix] [All] Exceptions: Exposed the ThreadAlreadyRunningException so
that you can handle exceptions of this type. You could get
this exception previously when trying to set the stack size
of a thread which is already running, but you had no way to
catch this exception without a generic exception block.
[Fix] [IDE] Exporting: Exporting an external item no longer creates a
file that contains a reference to the original item.
Instead, it exports the actual item instead. (Feedback ID:
zolrqejm)
[Kis] [IDE] External Items: May get confused about which folder they're
supposed to be in if you have two projects open that share
an external item, and then move that item to a different
location in one project. (Feedback ID: gazqffcc)
[New] [IDE] Favorites Bar: now configurable like the other toolbars,
except that for "Available Items" you will see
recently-visited locations in the current project.
[Chg] [Win] File I/O: No longer setting the write sharing flag when
opening a file up. This means that you cannot open the
same file for writing at the same time. Note that you can
open up the same file for reading at the same time still.
[Fix] [Mac] FileTypes: The file extension is now always a factor in
determing whether to allow opening of files in the
openDialog. Previously the file extension was only
considered if the MacType was unknown.
[New] [IDE] Find: now searches properties of menus, menu items, and
controls.
[Fix] [Win] Floating Windows: Can no longer get hidden behind the MDI
window frame if their parent was a plain box which is
hidden or closed. (Feedback ID: dusmkmwn)
[Fix] [Car] Focus: If the focus is changed as a result of a tab in your
application, activating and deactivating the window will
remember the correct focus control. NOTE: Controls which
have the focus as a result of full keyboard access aren\'t
restored as a result of a activate/deactivate. (Feedback
ID: ewruumbp)
[New] [All] FolderItem: Added the ability to get and set the Owner and
Group for a FolderItem. Note that this does not work on
file systems which do not support the concept of owner and
groups (such as any file system on Windows, or Classic).
[New] [All] FolderItem: Added the ability to get and set the
permissions of a FolderItem. You can get the Permissions
as an Integer (the octal set of permissions), as well as
set as an Integer. You can also set via the Permissions
class (tho you cannot directly retrieve a Permissions
object from a FolderItem to prevent aliasing problems like
you would see with the Date class). Note that this does
not work on Windows or Classic. (Feedback ID: vvuywern)
[Fix] [Lnx] FolderItem: Alias now reports proper information about
symbolic links.
[Fix] [Win] FolderItemDialog: Now displays better explanatory text with
the file extension filter.
[Fix] [Mac] FolderItemDialog: Now removes the ampersand used for
keyboard mnemonics from the button captions on the Mac.
(Feedback ID: nbtzwipk)
[Chg] [Lnx] FolderItemDialog: Now uses the new file dialogs if
available (requires at least GTK+ 2.4), which supports file
filters.
[Fix] [Mac] FolderItemDialog: Now, previews for files are show in the
preview pane, as they were in 4.5 and earlier. (Feedback
ID: kjxhuljw)
[Fix] [Win] FolderItemDialogs: Now using the new style dialog box on
Windows 2000 and up instead of the older styled box.
(Feedback ID: ugnngkdq)
[New] [Win] FolderItem: ExtensionVisible now returns the proper value
on Win32 systems that support hiding file extensions. Note
that this is a global flag on Windows -- it doesn\'t
pertain on a file-by-file basis. So if it is true for one
FolderItem, it is true for all FolderItems on Windows.
[Fix] [OSX] FolderItem: Moving a file to another folder with a rename
no longer fails if the folder already has a file with the
same name as the source file\'s original name. (Feedback
ID: yezkcwtj)
[New] [All] FolderItem: New "URLPath" accessor which returns a URL that
can be passed to ShowURL or other items requiring URLs.
[Fix] [Mac] FolderItem: Now returns proper ShellPath information for
root volumes on all systems, not just a lucky few systems
such as mine. (Feedback ID: zbcstsqr)
[Fix] [OSX] FolderItem: Now returns ShellPath with octal-encoded
escaped characters if the character is a non-ascii value.
[Fix] [OSX] FolderItem: Trying to construct a FolderItem from a
completely invalid shell path now returns nil from
GetFolderItem or throws an exception from new FolderItem
instead of crashing. (Feedback ID: sjxcxbph)
[Fix] [OSX] FolderItem: Using CopyFileTo and MoveFileTo now preserve
permission information. (Feedback ID: jlpzzuvx)
[New] [All] FolderItem, Serial, SocketCore, et al: All classes that
have an ErrorCode property to them now have the constant
NoError to signify that no error has occurred. (Feedback
ID: dookcvmb)
[New] [All] FolderItem.Launch: New method Launch( parameters as string,
[activate as boolean]), where "parameters" is the
application parameters to pass to the launched app (Windows
and Linux), and the optional activate parameter specifies
whether the application should be launched in the
foreground or background.\r
[Fix] [Lnx] FolderItem.OpenAsPicture: Loading JPGs, PNGs, TIFFs, GIFs,
or XBMs no longer throw assertion messages (when running in
the terminal), which may have crashed some apps.
[New] [All] FolderItem.OpenAsVirtualVolume: Now works even when the
virtual volume file is locked or on a read-only volume
(though of course, the virtual volume will then be
read-only as well).
[Fix] [Lnx] Fonts: All fonts now render properly.
[New] [All] For loops: Can now declare a variable on the loop using the
syntax:\r\rfor VariableName As VariableType = ...\ror\rfor
each VariableName as VariableType in ...
[New] [IDE] Form Editor: Controls list now shows icons, and also allows
you to select among several different sets of controls to
choose from.
[Fix] [Win] Four Char Codes: Are now returned in the proper endian
format instead of always assuming big endian. This fixes
things like the Mac creator code of an application built
for the Mac using the Windows IDE being swapped.
[Fix] [Win] Framecolor: Now returns the proper frame color (as the OS
reports it) on Windows. (Feedback ID: urigivnx)
[Fix] [Mac] GetFolderItem: No longer returns the parent folder for PEF
applications when you have a folder named Support Files
next to the application. (Feedback ID: wynukuxu)
[New] [All] GetFolderItem/New FolderItem: Now accepts a new constant
FolderItem.PathTypeURL in the optional PathType parameter.
When passed this constant, GetFolderItem will attempt to
interpret the path as a URL. It must begin with
"file:///".
[IDE] [New] Go To Location: Now works even when the Location toolbar
item is hidden or otherwise not available, by displaying a
sheet or dialog where you can enter a location.
[Opt] [OSX] Graphics: DrawPicture is faster when using Quartz for
repeated drawing of the same image when the image hasn't
changed. This in turn makes the IDE's form editor much
faster on OS X.
[New] [All] Graphics: Drawstring function now has an optional
"condense" boolean property that when used in conjunction
with the width property will shorten the inter-character
spacing and add an elipses if necessary to the string
being displayed.
[Fix] [Lnx] Graphics: DrawString, StringWidth and StringHeight no
longer leaks memory. (Feedback ID: kygzdzkq)
[New] [All] Graphics: Graphics.StringDirection will attempt to
determine the predominant drawing direction that string
characters will draw. If the user passes an empty string
it will return the system default string direction. If
REALbasic doesn\'t support this function on this platform
or the system can not determine it, the function will
return TextDirectionUnknown (or -1), otherwise it will
return TextDirectionLeftToRight (or 0) or
TextDirectionRightToLeft (or 1). This function can be
useful when dealing with text from the Middle East.
[Fix] [Lnx] Graphics: No longer leaks memory when getting the graphics
property of a control.
[Opt] [OSX] Graphics.DrawPicture: Now significantly faster in many
cases when using Quartz (UseOldRenderer = false)
[New] [IDE] Help Menu: Three new commands allow quick access to PDF
documents found either in the same folder as the IDE, or in
a subfolder called "Documentation." If a document is not
found, you'll be told the expected name and location, and
be given the opportunity to visit our downloads page.
[New] [IDE] History Menu: Now keeps the location for each window
separate rather than mixing them all together.
[IDE] [New] History Menu: Now updates when a project item, method, or
control is renamed.
[Fix] [All] HTTPSecureSocket: Fixed a bug that could sometimes return
only part of a page when using the HTTPSecureSocket on
Windows when CPU usage was high or the machine was slow.
[Fix] [All] HTTPSecureSocket: HTTPSecureSocket only returns the correct
resulting page when using authentication. (Feedback ID:
mtybwdfc)
[New] [All] HTTPSocket: HTTPSocket adds HTTPStatusCode function to
return the resulting code from the server. This function
can provide the status code when the socket is used in
synchronous mode.
[Fix] [All] HTTPSocket: HTTPSocket no longer sends post content data
when performing a GET. (Feedback ID: yuyrsmrc)
[New] [All] HTTPSocket: HTTPSocket provides a PageHeaders function
which provides access to the headers received from the
server. This can be used to access the headers in
synchronous mode.
[Fix] [IDE] Icon Editor: Clear All Icons, Clear Icon, and Paste Icon
actions are now an undoable actions
[New] [IDE] Icon Editor: Importing an Icon is now undoable
[New] [IDE] Icons: Now supports building win32 Icons in RB6. It now
supports 32bit icons in addition to 8bit, and supports
icons of width 16, 32, and now 48.
[Fix] [IDE] Icons: You can view and edit your app icons. You can
import from .icns (Mac Only), .ico files and picture files.
You can export to .icns and .ico files. You can zoom in
and out, for better proofing.\rKis - The icons do not yet
become part of your final application.\rKis - Undo not
hooked up.\r\r
[New] [IDE] IDE Menus: The Revert menu is now functional.
[New] [IDE] IDE Menus: The Window menu now serves a useful purpose.
[New] [All] IDE: ContainerControls now draw their name inside of the
IDE. (Feedback ID: yspipild)
[Fix] [All] IDE: When dropping a folder onto the project list, it now
ignores invisible files including items with a preceding
"." (Feedback ID: lgwmezix)
[Fix] [Lnx] ImageWell: Now draws the image inside the imagewell
properly, instead of being offset.
[New] [IDE] Import command: The Import menu command (or dragging of
files into the project list) now works, though currently
only picture and sound files are detected as such;
everything else imports as a raw-data file.\r
[New] [All] Internet Standards: Added optional encoding parameters to
DecodeURLComponent, DecodeBase64, and
DecodeQuotedPrintable. The behavior for not passing in an
encoding has not changed and will continue to return a
nil-encoded string. If you pass in an encoding, it will
have the same effect as calling DefineEncoding() on the
resulting string.
[Fix] [All] Internet Standards: EncodeURLComponent, EncodeBase64, and
EncodeQuotedPrintable all now return ASCII encoded strings.
(Feedback ID: jrcvhovr)
[Dep] [All] Intrinsic Functions: Deprecated IsCMMClick, please use
IsContextualClick. Deprecated AppleMenuFolder with no
replacement. Deprecated ExtensionsFolder with no
replacement. Deprecated ControlPanelsFolder with no
replacement.
[Fix] [All] Intrinsic Functions: IsNumeric now fails on cases like
"1e", which makes it consistent with VisualBasic\'s
IsNumeric function. (Feedback ID: dldmeptg)
[New] [OSX] Intrinsic Functions: On Mac OS X 10.3 and later, Format()
will use information based on the user\'s locale even if
the user\'s locale is an Unicode only locale.
[Fix] [All] Intrinsic Functions: Window (the function, not the class)
and WindowCount no longer report information about a window
which is in the process of closing (which would generally
manifest itself by the Window function returning a Nil
window). (Feedback ID: kbcwusgv)
[Fix] [All] IsNumeric: Now returns false for strings starting with Inf
or NaN that aren't valid NaN or Inf strings (for example,
NaN(000) is valid, but Nano isn't). (Feedback ID:
ncywrexs)
[Fix] [All] IsNumeric: Now returns false when passed invalid data such
as "+e2". (Feedback ID: rvhqgnui)
[Fix] [All] IsNumeric: Now returns true for the string form of NaN and
Inf. ie) IsNumeric( Str( 0/ 0 ) ) returns true, just like
IsNumeric( 0 / 0 ) does. (Feedback ID: kdvrjzbq)
[Opt] [All] Join: now works far more efficiently when joining large
arrays of strings. (Feedback ID: dmkxogsq)
[Fix] [Win] Keyboard Mnemonics: Now follow proper system guidelines for
when they are fired. Previously followed the VisualBasic
rules for firing and focus, but now follow the system
standards instead. (Feedback ID: yeqxocsc)
[Chg] [IDE] Keyboard Shortcut: The keyboard shortcut to change tabs is
now Control+Tab and Control+Shift+Tab on the Mac instead of
Cmd+Shift+Left/Right Arrow.
[New] [All] Keyboard: Added AlternateMenuShortcutKey and
AsyncAlternateMenuShortcutKey so you can test the proper
alternate menu shortcut modifier key on all platforms.
This checks the option/alt key on the Mac, and the shift
key on Windows/Linux.
[New] [All] Keyboard: Added MenuShortcutKey and AsyncMenuShortcutKey so
you can test the proper menu shortcut modifier key on all
platforms. This checks the command key on the Mac, and the
Ctrl key on Windows/Linux.
[Dep] [All] Keyboard: Deprecated CommandKey and AsyncCommandKey
Deprecated OptionKey and AsyncOptionKey
[Fix] [Win] Keyboard: Getting the non-async state of keyboard modifiers
is no longer asynchronous when out-pacing the event loop.
[Fix] [Win] Keyboard: No longer reports a keyname for keycode 0x51
since there is no such key as a numeric pad = on Windows
(the Mac numeric pad has one more key than a PC keyboard
does). (Feedback ID: agtxvrke)
[Fix] [Win] Keyboard: Now reports the proper key text for the numeric
keypad on Windows (doesn\'t report / as being *, or * as
being -). (Feedback ID: agtxvrke)
[Fix] [Mac] Keyboard.KeyName: No longer returns invalid data after the
user has pressed certain command-key combinations.
(Feedback ID: udjnskdx)
[New] [All] Language: New "Optional" keyword lets you make a parameter
optional without specifying a default value. This modifier
precedes the parameter name, like ByRef or ByVal. If the
caller omits this parameter, it will receive the standard
initial value for its type.
[New] [All] Language: Select Case block now allows "Case Else" as a
synonym for "Else".
[New] [All] Language: Variables declared on Exception and Catch
statements now live inside the block\'s scope instead of
inside the method scope. This means multiple Catch blocks
at the same level can use the same exception variable name.
(Feedback ID: qfwkubcy)
[Fix] [IDE] Linker: Fixed minor memory leaks in PPC and Win32 linkers
[New] [All] Listbox: Added a new flag "RequiresSelection". When true
users won\'t be able to unselect the last row by clicking
below the last visible row or by dragging. You can still
unselect the last item by setting the listindex to -1
[Fix] [All] Listbox: All columns have the same default text indent.
Setting the listbox to hierarchical, adding row pictures,
and checkboxes can still affect this. (Feedback ID:
jxdhnkyg)
[Fix] [Win] Listbox: BorderDoubleThinSolid and BorderThickSolid now
looks proper on Windows. (Feedback ID: rmiivssd)
[Fix] [Mac] Listbox: Checkboxes in a listbox no longer draw outside the
listbox bounds on non-composite windows. Composite windows
didn\'t have this problem (Feedback ID: xftujavj,
jreuxejj)
[Fix] [Lnx] Listbox: Checkboxes now clip horizontally (Feedback ID:
uyhynrkb)
[Chg] [All] Listbox: Cicking on an editable cell no longer enters edit
mode unless the row is already selected.
[Fix] [All] Listbox: click region now matches drawing area for listbox
checkboxes.
[New] [All] Listbox: Hierarchical disclosure widgets are now indented
with the row on OS\'s where this makes sense including Mac
OS X Panther. (Feedback ID: eogtkdqp)
[Chg] [All] Listbox: Listbox cellbackgroundpaint and default grid lines
now draw into the virtual cell space below and to the right
of the actual cell data. This can be used to draw stripes
in background even when no list data is visible. As such
you will need to check row and column to make sure they are
in bounds before accessing data in CellBackgroundPaint.
There is currently no user option to turn virtual row
painting on/off. CellClick and CellTextPaint do not work
with virtual cells.
[Fix] [All] Listbox: no longer gets into a state where the Change event
stops firing under certain circumstances. (Feedback ID:
gnjamkoj)
[Fix] [Win] ListBox: No longer shifts focus when pressing the right and
left arrow keys.
[Fix] [Lnx] Listbox: No longer throws a GTK assertion when setting the
WidthActual in the Open event of a listbox. (Feedback ID:
twojvgqp)
[Fix] [Lnx] Listbox: Now clears the focus from previous control when
the listbox gains focus.
[Fix] [Mac] ListBox: Now draws CheckBoxes in the proper disabled state
when the ListBox is disabled. (Feedback ID: efhblqrx)
[Fix] [Win] ListBox: Now draws the cell text properly when disabled.
(Feedback ID: opvwmoib)
[New] [All] Listbox: Now handles EditSelectAll Menu items by default.
You can still override this as always in a subclass. In
order for this to work you have to have the selection type
set to multiple
[Fix] [Win] Listbox: Now handles focus row selection properly on
Windows and Linux when using the Page Up/Down, Home and End
keys. Now properly shifts the focus instead of just the
view.
[New] [All] Listbox: Now handles the copy menu command. It will copy
any data from the listbox to the clipboard. Column data is
separated by tabs, row data is separated by platform
specific new lines.
[Fix] [All] ListBox: Now scrolls properly even if a scrollbar isn\'t
present. This can occur via keypresses such as Page Up,
Page Down, End, Home, the arrow keys, and the mouse wheel.
(Feedback ID: zztdxoyd)
[Fix] [All] Listbox: Now throws an outofbounds exception instead of a
failed assertion when a user accesses a row picture that is
out of bounds. (Feedback ID: etijqgvb)
[Fix] [Mac] ListBox: the DragItem created when you drag a row now has
its bounds properly set; previously this was the case only
for row 1. (Feedback ID: fpjqurlt)
[Fix] [All] Listbox: The editable cell now honors column alignment
offset and cell alignment offset. (Feedback ID: bimoqzta)
[New] [All] Listbox: The editable cell of a listbox will now match the
listbox cell alignment. NOTE: This feature is turned off
for center aligned cells because of an editfield
limitation. Center align cells will show a left justified
editable cell.
[Fix] [Win] ListBox: The selection for a listbox no longer disappears
when the listbox becomes disabled. (Feedback ID: ubsttwky)
[New] [All] Listbox: The text of the listbox header now matches the
listbox column alignment. (Feedback ID: dqwfvhfh, pqqfyurv,
wtqvdjre, jtgwbsss, havatgyf, qhacayqa, ihfebcse)
[Fix] [All] Listbox: Viewing a listbox control in the debugger while
the control's window is being constructed no longer causes
the debug app to crash.
[New] [Mac] Listbox, Editfield: The horizontal scrollbar now moves if
you use the mousewheel in conjunction with the shift key on
the macintosh. (Feedback ID: cqodsqsn)
[New] [All] Listbox.Cell: -1 is now a valid value to use on
listbox.cell. It acts as a wild card and means every row,
or every column depending on which position in cell its
used.\r\rWhen setting you can use it in conjunction with
out of bounds data and it will create the row or column for
you.\r\re.g. You could add all columns of the next row at
once with:\r\rme.cell(me.lastindex, -1) =
myTabDelimitedRow\r
[New] [All] Listbox.DragReorderRows: A second parameter, parentRow, is
now passed to the DragReorderRows event. This gives you
the row number of the parent folder in the case of a drag
within a hierarchical listbox. As with the newPosition
parameter, the row numbers are adjusted for the assumption
that all selected rows will be deleted. A value of -1
indicates a drop at the root level of the listbox (i.e., no
parent row).
[Dep] [All] LittleArrows: Deprecated the LittleArrows control, please
use the UpDownArrows control instead.
[New] [IDE] Location/Search Fields: Now resize to fill available space
in the toolbar.
[Fix] [All] LTrim, RTrim, Trim: Now all function the same across all
platforms. These functions now trim based on the official
list of Unicode whitespace, found at
http://www.unicode.org/Public/UNIDATA/PropList.txt
(Feedback ID: jlsuscpg)
[Fix] [IDE] Mach-O: The Windows IDE can now build working Mach-O
applications. (Feedback ID: jwuraisi)
[New] [Win] Main Window: Now uses a true status bar control in the main
IDE window.
[New] [All] Max and Min: now allow more than two parameters, and return
the maximum and minimum (respectively) of all parameters
given.
[New] [IDE] Maximize Editor mode: Now remembers the position of the
splitters in the window and code editor (as global
preferences).
[New] [IDE] Maxmimze Editor: This new command under the View menu hides
all the toolbars, and also shrinks down the side panels of
the window or code editor, maximizing the space you have to
work on actual content. Use the command again (now called
"Restore Editor") to put everything back to normal.
[New] [All] MemoryBlock: Added a new method called WString that allows
you to get and set WStrings (UTF-16 strings) that are null
terminated in a MemoryBlock.
[Fix] [All] MemoryBlock: CString and PString now return strings with an
unknown encoding instead of ASCII. (Feedback ID: poijvfea)
[Fix] [All] MemoryBlock: MemoryBlocks created by addition or via the
Left, Right, and Mid methods no longer leak their content
buffers.
[Fix] [All] MemoryBlock: MemoryBlocks now compare against nil
differently by checking the data wrapped by the MemoryBlock
to see if it is nil as well.
This means that declares returning nil via a Ptr that's
assigned into a MemoryBlock can be compared properly, like
this:
dim mb as MemoryBlock = MyDeclareReturningNilPtr
if mb <> nil then MsgBox "Yay"
[New] [All] MemoryBlock: Now has a constant named UnknownSize which is
an integer, whose value is -1.
[New] [All] MemoryBlock: Now supports creating a 0-length memory block.
(Feedback ID: ugcnxhgk)
[Chg] [All] MemoryBlock: Size is now a property instead of a method
(meaning you can view the memory block size under the
debugger now).
[Chg] [All] MemoryBlock: Size now returns MemoryBlock.SizeUnknown (-1)
when we don't know the size of the memoryblock. Previously
it returned 0. You can get a memory block of unknown size
from declares.
[Fix] [Lnx] MemoryBlock.WString: On Linux and Mach-O builds only,
setting a WString writes out a wchar_t string (which is a
4-byte character string that we convert to). When
retrieving a WString, it is also assumed that the block of
memory contains a wchar_t string (4-byte character string),
and is subsequently converted to a UTF-16 string and
returned to you.
[New] [IDE] Menu Editor: Now warns you (in the tips area) when you are
creating a duplicate menu accelerator or shortcut
combination.
[New] [IDE] Menu Editor: Special menu items (derived from
AppleMenuItem, PrefsMenuItem, or QuitMenuItem) are now
shown in their proper locations based on the platform
display mode. For example, if viewing the menus in OS X
mode, these items appear under the Application menu, but in
Windows or Linux mode, they appear in their "home"
location.
[New] [IDE] Menu Items: special menu items (e.g. Apple menu items, or
MenuItem subclasses such as QuitMenuItem) are now
supported.
[Kis] [IDE] MenuEditor: You cannot create new menu item arrays or edit
existing ones. You can use the new MenuItem APIs if you
must work with dynamic menu items immediately.
[Fix] [Lnx] Menu: Improved menu support. Sometimes items would not
appear depending on the order of how you added them, this
should no longer be the case.
[New] [All] MenuItem: Added a new constructor (called MenuItem) that
lets you set the text and optionally set the tag of the
item being constructed.
[New] [All] MenuItem: Added the ability to use a MenuItem as a
contextual menu with the new PopUp API as
follows:\r\rPopUp() as MenuItem -- places the contextual
menu next to the mouse cusor.\rPopUp( x as Integer, y as
Integer ) -- places the contextual menu at the location
given.\r\rBoth functions will return the MenuItem that was
selected. Before the function returns the MenuItem, the
selected item\'s Action event will be fired. If the Action
event returns true, PopUp will return nil since the action
was already handled.
[Dep] [All] MenuItem: Deprecated CommandKey, please use
KeyboardShortcut instead.
[New] [Car] Menus: Can now have more than 255 menuitems in Carbon.
[Fix] [OSX] Menus: No longer flicker on OS X. This previously happened
in certain circumstances, as mentioned in the feedback id.
(Feedback ID: jyaddmuo)
[Fix] [Lnx] Menu: When a menu item is triggered by a keyboard shortcut,
the menu item action event is triggered before any control,
or window, receives a KeyDown event.
[New] [OSX] MessageDialog: ShowModalWithin method added to the
MessageDialog class to allow you to show a messageDialog as
a sheet. (Feedback ID: obovixbk)
[Fix] [Win] MessageDialog: The dialog width now properly adjusts for
strings with line breaks in them. (Feedback ID: xnfsejms)
[Fix] [Lnx] Microseconds: Now returns precision in microseconds instead
of whatever incorrect precision it was before. However, it
does not return the amount of time that has passed since
the user\'s computer was started.
[Fix] [Win] MouseCursor: On Windows/Linux, the X, Y hotspot are no
longer reversed. However, this may require you to reimport
your mouse cursor. (Feedback ID: ykwxxfue)
[New] [All] MoviePlayer: Added new AutoPlay as boolean property. Set
this to true if you want the movie to automatically start
playing when you assign a movie to the MoviePlayer control.
This property defaults to false.
[New] [All] MoviePlayer: Added new PlayerType property.\r\r0 =
Preferred player\r1 = Quicktime player\r2 = Windows Media
Player\r\rOn the Mac this property is ignored, the only
player currently supported is Quicktime. On Windows, the
Preferred Player is Windows Media Player, but if the media
file cannot be played using WMP, we will try using the
Quicktime player instead. Set this property to 2, to
prevent RB from automatically doing this.
[New] [All] Mutex: Added a new subclass of CriticalSection -- the Mutex
class. Please see the Locking Mechanisms.txt file for more
information on how to use this class.
[Fix] [Lnx] NetworkInterface: Can now retrieve the MAC address again on
Linux. (Feedback ID: rtquploa)
[Fix] [Lnx] NetworkInterface, All Socket Classes: Getting the IP
address no longer reports information about the loopback
address. (Feedback ID: tverguac)
[Fix] [Win] NotePlayer: Instrument now maps properly, as on the Mac.
[Fix] [All] Object2D: Non-default pen sizes no longer adversely affect
how object2d draw their border, when borderWidth = 1.
[Fix] [OSX] Object2d: Rotated PixmapShapes now honor their fill
property on OS X if "useOldRenderer" is set to false
[Fix] [All] Object2D: The default number of segments on RoundRect,
Ovals and Arcs now takes the borderwidth into account. It
gives a smoother curve where thick borders are involved.
[Chg] [All] OLEContainer: This event now returns a variant.
[New] [Win] OLEObject: Added EventTriggered( NameOfEvent as string,
Parameters() as Variant) event. This event is fired when
the OLEObject receives an event from the automation server.
The event name is passed as the first parameter, and the
parameters for the event that occurred are passed in as an
array of variants in the second parameter.
[Fix] [All] OLEObject: Currency types are now treated as string, to
preserve precision. (Feedback ID: jonmymdq)
[Fix] [All] OLEObject: Now correctly reports nil objects instead of
falsely creating an empty OLEObject in which a subsequent
use would yield a "No Automation Server Present" message.
[Fix] [Win] OLEObject: Now works in service and console applications.
(Feedback ID: dengryfu)
[Fix] [All] OLEObject: Passing string arrays now works, instead of
crashing or not working properly, for example:\r\rdim excel
as new ExcelApplication\rdim a(2,0) as Variant\rdim param
as new OLEParameter\rdim r as ExcelRange\r\ra(0,0) =
"1"\ra(1,0) = "2"\ra(2,0) = "3"\r\rparam.Type =
OLEParameter.ParamTypeString\rparam.Value2D =
a\r\rexcel.visible = true\rexcel.workbooks.add\rr =
excel.range("A2", "A4")\rr.value2 = param\r (Feedback ID:
uepgjpgd)
[Chg] [All] OLEObject: Value property no longer accepts arrays, use
ValueArray instead to assign 1 or 2 dimensional arrays.
Value2D is deprecated.
[Fix] [All] OLEObject: You can now pass an OLEObject byref. Use the
OLEParameter class and assign the Value to a new
OLEObject("") or an existing OLEObject.
[Fix] [Win] OLEObject: 64-bit integer types are now returned as
strings, instead of not being returned at all. (Feedback
ID: kihkfxns)
[Chg] [All] OLEObject/Database: Renamed OLEObject.Property to
OLEObject.Value, and Database.Property to
Database.GetProperty. The functionality is the same, only
the name has changed (note this is not a deprecation, you
can no longer use the reserved keyword Property).
[Fix] [IDE] Open Recents Menu: No longer fills the open recents menu
with garbage on Windows.
[New] [All] PagePanel: Added new methods to Append, Insert, and Remove
pages.\r\rAppend() -- appends a new page.\r\rInsert( index
As Integer ) -- inserts a new page at the specified
index.\r\rRemove( index As Integer ) -- deletes the page at
the specified index. This will also delete all controls
within that page.
[Fix] [Lnx] ParseDate: Able to parse more formats now (Feedback ID:
ouvgzhry)
[New] [OSX] ParseDate: On Mac OS X 10.3 and later, ParseDate now will
parse dates based on the user\'s locale even if the user\'s
locale is an Unicode only locale.
[New] [All] Permissions: Added the Permissions class as an easy way for
you to test, set and clear permission bits on a FolderItem.
You must pass the Integer permissions value from the
FolderItem into the Permissions constructor.\r\reg)\rdim
perms as New Permissions( f.Permissions )
[New] [IDE] Picture editor: now supports zooming and scrolling.
[New] [IDE] Pictures: Picture items in the project have a new property
called "Mask" which allows you to assign another picture
item to be drawn automatically into this picture's mask.
(Feedback ID: enxvpcdm)
[Fix] [Lnx] Pictures: 1-bit BMPs now load properly instead of having
the white and black pixels reversed.
[Fix] [Lnx] PixmapShape: Now draws if rotated (Feedback ID: slviuwmt)
[Fix] [Lnx] Placard: No longer draws on top of everything, so that you
can put a StaticText on top of it, for example. (Feedback
ID: vgfsqcxx)
[New] [All] Plugins SDK: Can now set console safety flags for plugin
classes, controls, methods and properties. Note that when
you update your plugin, you should update these flags or
else truly console safe items will be flagged as not
console safe.
[Fix] [All] Plugins SDK: Trying to dynamically load some setter
functions no longer fails (such as Graphics.Pixel)
(Feedback ID: kigriqwp)
[Fix] [Lnx] Plugins: Modifier keys now passed to MouseDown function.
[Fix] [Win] Plugins: The keyDownFunction for control plugins, now
properly returns the correct charCode and keyCode.
[Fix] [All] PopupMenu: Now properly strips && to be a single & on all
platforms. Note that keyboard mnemonics do not make sense
in these controls, so do not expect any to be displayed.
(Feedback ID: ugejrrih)
[Fix] [Win] PopupMenu, ComboBox: No longer fires the default button or
cancel button\'s action event when hitting enter or escape
while the list is in the dropped-down state. (Feedback ID:
ljgxvyfk)
[Fix] [Win] PopupMenu, ComboBox: On Windows & Linux, changing the font
of a PopupMenu or ComboBox at runtime now works. (Feedback
ID: dvydgydx)
[Fix] [Lnx] PopupMenu/ComboBox: No longer fires the Change event when
deleting all rows, or when the control is destroyed.
(Feedback ID: bylziosw)
[Fix] [Win] PopupMenu/ComboBox: Removing a row no longer corrupts
memory, which could lead to random crashes later.
[Opt] [Win] PostgreSQL Plug-in: Now yields time to the system when
polling for data. This allows the PostgreSQL 8.0 server to
run better when connecting locally.
[New] [IDE] Preferences: Now have a mostly-working preferences dialog
[Fix] [All] Printing: Now properly reports the FirstPage and Copies
properties on the Graphics class so that you know what
information you are responsible for printing.
[Fix] [Win] Printing: Now sets the print job name to the title of the
front-most window (so the behavior is the same as the Mac)
instead of just "Document". (Feedback ID: gwatudhu)
[Fix] [OSX] Printing: REALbasic applications will now print using
quartz on OS X. This means that unicode font substitution
works the same on screen as it does when you print, it also
means that pictures using masks work properly, rotated
stringShapes will print and transparent Object2D\'s will
now print with transparency. If you desire the old
behavior you can set "useOldRenderer" to true. Pictures
with bit depth of 8 or less are still drawn with Quickdraw.
(Feedback ID: wqahlebh, fxosuwep, dxyswfxo, ajadvfdd)
[Fix] [Win] Printing: The job name is now the frontmost window\'s title
for your application again. (Feedback ID: hsksrxpd)
[Fix] [Win] ProgressBar: Switching between a determinant progressbar to
an indeterminate progressbar no longer shows the
progressbar if it is hidden.
[New] [All] Project Editor: Added toolbar item (not to the default set)
for encrypting/decrypting project items.
[New] [IDE] Project List: Can now hold the command key (Mac) or Control
key (Windows/Linux) and double click on an item to open it
in a new window. (Feedback ID: jxvpbkuc)
[New] [IDE] Project Tab: a new contextual menu command "Window Editor
Behavior" allows you to define which properties of a class
should appear in the properties list for instances of that
class on a window. This can also be accessed from the code
editor for a class.
[New] [IDE] Project Tab: Copy and Paste can now be applied to most
types of project items. (Feedback ID: oslnxzfw)
[New] [IDE] Project tab: Project items can now be rearranged or
reordered by dragging in the list view, even when the
destination is a folder at the end of the list. You can
control exactly where the dragged item will be dropped by
watching the drop indicator as you drag the mouse.
[New] [IDE] Project Tab: you can go directly to the "alternate" mode of
an item (such as the code editor for a window) by holding
Option (on the Mac) or Ctrl+Shift (on Windows or Linux)
while double-clicking or pressing Return on the item in the
project list.
Or, if you don't like hidden keyboard shortcuts, you can
use the contextual menu.
[New] [IDE] Properties Editor: now shows the proper properties for
standard controls, in the standard order and groupings,
with default values.
[New] [IDE] Properties List: Color properties are now editable as text,
but you can still bring up a color picker by clicking the
"..." button.
[Fix] [IDE] Properties Pane: Changing the super of an object now
automatically adjusts the listed properties to
automatically include the new classes properties.
[New] [IDE] Proxy icon: document windows in the Macintosh IDE now
display a proxy icon, which you can command-click to view
the location of the corresponding file on disk.
[Fix] [Win] PushButton: The default push button now follows the focus
according to OS standards. This allows you to use the
Enter key to trigger the button's action event. (Feedback
ID: fbpglkip)
[Fix] [All] Quicktime: REALbasic now works better with offscreen movies
for the following editable movie functions Cut, Copy,
Clear, Paste, RestoreUndoEditState, and
RestoreRedoEditState, the following Track methods Delete,
and DeleteTrackSegment, and the following Video Track
Methods InsertVideoTrackSegment, AppendVideoTrackSegment,
and AppendPicture. (Feedback ID: cvvarknj)
[Fix] [All] Random: InRange now will return proper results if both the
min and max are negative numbers. Previously, it could
return results 1(+/-) outside of the range.
[Fix] [Lnx] RBScript: Setting the source now works properly for Linux
console apps.
[Fix] [All] RbScript: Strings returned from intrinsic functions or
methods of the context object no longer leak when the
script ends. (Feedback ID: odtootfo)
[Fix] [All] RbScript: Variant accessor methods (IntegerValue,
StringValue, etc.) no longer cause undefined identifier
errors when used in RbScripts. (Feedback ID: cpssqsdu)
[New] [All] RBVersion Constant: Now reports 2005.01. This also is what
is reported for plugins via the REALGetRBVersion() method.
[New] [All] RBVersionString: Now reports "2005r1".
[New] [All] Rb3DSpace.DebugCube: Now works in built applications as
well as in debug builds. (So be sure to turn it off if you
don't want it on in release builds.) (Feedback ID:
etzwvjom)
[Fix] [Win] Rb3DSpace.DebugCube: Now works in Windows and Linux as well
as on the Mac. (Feedback ID: etzwvjom)
[Fix] [All] REALDatabase: Fixed a bug which could sometimes cause loss
of data when doing a ROLLBACK.
[New] [All] REALDatabase: now supports renaming columns, and changing
the column type. There is no official SQL standard for
these operations; we use the following syntax:\r\rALTER
TABLE <table-name-string> RENAME <column-name-string> TO
<new-column-name-string>\r\rALTER TABLE <table-name-string>
MODIFY [ COLUMN ] <column-name-string>
<column-type-string>
[Chg] [All] REALSQLDatabase: Auto-commit is now off by default, like it
is in REALDatabase. This means that if a transaction isn't
open when you start writing to the database (using INSERT,
DELETE, REPLACE, UPDATE), then one will be opened for you.
To commit your changes, you must call Commit explicitly.
Or, you can call Rollback to discard your changes. Closing
a database with an open transaction will perform an
automatic Commit. Note that you can still explicitly open a
transaction with BEGIN TRANSACTION.
[Chg] [All] REALSQLDatabase: Calling Edit, Update, or Delete on a
RecordSet that can't be edited now sets Error, ErrorCode,
and ErrorMessage properties to indicate the error.
[Fix] [Mac] REALSQLDatabase: Can now build MachO apps with REAL SQL
Databases.
[Fix] [All] REALSQLDatabase: correctly return a syntax error for SQL
statements that aren't terminated correctly. In particular,
queries that lacked an ending single-quote were incorrectly
returning an empty RecordSet. Now there will be a syntax
error in such a case.
[Chg] [All] REALSQLDatabase: Field type names now are displayed with
leading caps. Removed the unused UncompressedBinary type.
[Chg] [All] REALSQLDatabase: it is no longer necessary to include
'rowid' as one of the columns in a SELECT when you plan to
edit the resulting RecordSet. The rowid of each column in
the RecordSet is now tracked internally.
[Chg] [All] REALSQLDatabase: Text inserted into a database is now
converted to UTF8 if it is not already UTF8. This is true
both when using SQLExecute and DatabaseRecords to insert
the text. To insert text without the conversion, insert it
into a blob/binary field.
[Chg] [All] REALSQLDatabase: 'New REAL SQL Database' now comes before
'Select REAL SQL Database' in the Add->Database menu.
[Fix] [Lnx] Rectangle, RoundRectangle, Oval: Controls (such as
Listboxes or Canvases) on top of a Rectangle,
RoundRectangle, or Oval control, now draw on top. (Feedback
ID: rzdurczd)
[Fix] [Win] RectControl: MouseExit now fires properly when leaving the
control to go into the MenuBar (Feedback ID: wsawbgru)
[New] [All] RectControls: Added new MouseWheel event:\rFunction
MouseWheel(X as integer, Y as integer, Delta as integer) as
Boolean\rWhere X,Y is the mouse coordinates, relative to
the control that\'s received this event, and Delta is the
amount of scroll lines as defined by the system. This
value is positive when scrolling down, and negative when
scrolling up. Returning true prevents the event from
propagating further.
[New] [All] RectControl.PanelIndex: Add new property PanelIndex to
RectControls. Use this property to get/set the control's
panel index for moving controls on to, or off of, a
specific panel on a TabPanel or PagePanel. This property
is 0-based, with 0 being the first panel, and so on, and
-1 means no panel.
[Fix] [All] RectControl.Parent: Is now returned as a RectControl not a
Control. This means that you have to do less casting to
use it. NOTE: It shouldn\'t have any negative side effects
since non rect controls can\'t have children.
[New] [Win] RegistryItem: Added optional parameter to RegistryItem
constructor:\r\rRegistryItem( path As String, [create As
Boolean = true])\r\rPass in false as the second parameter
if you do not want the path to be created if it is not
found. A RegistryAccessErrorException will be thrown in
this case.
[Fix] [Win] RegistryItem: Assigning a MemoryBlock to a
RegistryItem.Value no longer crashes.
[Fix] [Win] RegistryItem: Getting a registry item value of type
REG_EXPAND_SZ now retrieves the value (and expands it)
properly.
[New] [IDE] Remote Debugging: Remote Debugging now functional. Note
that the remote debugging protocol is 100% different than
in older versions of REALbasic. So you can only use the
new stubs with the new IDE.
[Fix] [Lnx] RGBSurface: Getting pixels with the RGBSurface is now
several orders of magnitude faster than previously.
[Fix] [All] RoundRectShape: Setting the cornerWidth or the cornerHeight
to be equal to the width or height respectively no longer
causes weird drawing annomallies.
[Opt] [All] Runtime: object look-ups by index are now substantially
faster under common use cases.
[Chg] [All] Runtime.ObjectClass: variant objects are now reported as,
for example, "Variant(String)" rather than "String".
[New] [Mac] SaveAsDialog: now displays a Format pop-up, allowing the
user to choose an output format, if you specify more than
one file type in the Filter property. Examine the
extension of the file name returned to see which format was
chosen. (Feedback ID: rffwokid)
[Fix] [IDE] Saving: Saving the project now saves the menus, any
external code items, sound items, movie items, database
items, and text file items.
[Fix] [Win] Scrollbar: Now respects the Minimum property when set at
design time. (Feedback ID: mkbjcxkb)
[New] [All] Semaphore: Now has a constructor that takes the initial
count of the number of resources the semaphore is
protecting. This parameter defaults to 1 for backwards
compatibility.
[New] [All] Serial: Added a new method to allow you to watch for line
state changes.\r\rLineChangeNotification( ParamArray lines
as Integer )\r\rWhen a line state changes, the
LineStateChanged event will fire and pass in an array of
the lines whose states have changed. To select lines to
watch, or to see which lines have changed, please use the
new constants added to the serial class for this purpose
(DTR, RTS, CTS, DCD, RI and DSR).
[New] [All] Serial: Added new constants for the Serial.LastErrorCode
property:\r\rAccessDenied = 100,\rPortNotFound =
101,\rInvalidOptions = 102\r
[New] [All] Serial: Added two new properties, BytesLeftToSend as
Integer and BytesAvailable as Integer to tell you how much
data is left to send or receive.
[Dep] [All] Serial: Deprecated the Port property, please use the
SerialPort propety instead. Note that you should always
display some UI to allow the user to choose which port to
use since serial ports are different on every machine.
[Fix] [OSX] Serial: Now obtaining exclusive rights to the serial port
when opening it. This means that another application
cannot also open the port (unless they are running as root)
once your application has opened it up. This change
affects Linux as well. (Feedback ID: bmbkvyvk)
[Fix] [Win] Serial: System.SerialPortCount now returns proper
information when there are COM ports > COM9 installed. You
can now open COM ports > COM9 as well. (Feedback ID:
ebgdiyqu)
[New] [All] ServerSocket: Added ActiveConnections() as TCPSocket() to
allow you to get an array of active sockets (ones that were
added via the AddSocket event and are now
connected).\r\rThis means you don\'t have to use control
arrays of sockets anymore. ;-)
[Fix] [All] ServerSocket: Can now get the actual port bound to.
(Feedback ID: vpayqwtq)
[Fix] [All] ServerSocket: Now honors the MaximumSocketsConnected
property on OS X, Windows and Linux again.
[Fix] [Win] ServiceApplication: Now receives args from both the
"command line" as specified by the service\'s binPath, and
the "command line" as specfied by the startup parameters
passed to StartService.\r\rPreviously you would only get
the parameters from StartService and not the binPath.
[Fix] [Lnx] Shell: Getting the ErrorCode now returns the exit status of
the executable. (Feedback ID: quxgjolo)
[Fix] [Win] Shell: No longer errors out when the app is run from a UNC
path (i.e. if the app was located on the network).
(Feedback ID: pzxpowae)
[New] [Win] Shell: Now supports asynchronous and interactive shell
(modes 1 and 2). (Feedback ID: szwdhcpi)
[New] [Lnx] Shell: Now supports interactive and asynchronous modes.
(Feedback ID: tjqirizd)
[Fix] [Win] Shell: Shell now works again on Win98/ME. (Feedback ID:
fncfkhtp)
[Fix] [Win] Shell: Shells now run much faster in synchronous mode.
(Feedback ID: vgpwbgnv)
[New] [All] Shell.Execute: Added optional second parameter:\r\rExecute(
command as string, [parameters as string] )\r\rThe first
parameter is the path/name of the executable to run, and
the second parameter indicates the arguments to pass to the
executable. You can still specify the entire command
without using the optional second parameter if you like
(however, on Windows, if the path/name of the executable
contains spaces, and you want to pass arguments to it,
you\'re better off separating the two).
[Fix] [All] SOAPMethod: Invoking a SOAPMethod that returns an empty
string no longer raises an exception. (Feedback ID:
vooizayj)
[Fix] [All] SOAPMethod: SOAP methods that do not have any parameters
can be invoked without raising a SOAPException. (Feedback
ID: uggpasqg)
[Nte] [All] Socket Events: Using MsgBox within a socket event can cause
other events to fire due to the modal nature of MsgBox.
For example, if you have a MsgBox in the Connected event,
while that dialog is displayed, you may get a DataAvailable
event. This is normal, expected behavior. If you are
using MsgBox to display debugging information, consider
using System.DebugLog instead.
[New] [All] SocketCore, IPCSocket, ServerSocket: All the socket classes
now have a read-only property called Handle as Integer.
This is the socket\'s internal descriptor and can be used
with declares. Note that the descriptor is
platform-specific. Assume that if this property is <= 0
that the descriptor is not available. (Feedback ID:
xnltnngd)
[New] [Lnx] Soft Declares: Now resolves declares against LibC. Please
see the Soft Declare read me for more information.
[New] [Car] Soft Declares: Now supports more formats on Carbon. In
Mach-O, it will load both dynamic libraries (dylib) and
frameworks. The dylib loading supports @executable_path in
the library name to load relative to the executable. For
CFM, it will try to find a framework as well as a CFM
Shared Library.
[Fix] [Win] Sound: Can now play MP3s or MIDIs that contain unicode
characters in the path/name. (Feedback ID: tijyliic)
[Fix] [Win] Sound: Setting a sound\'s pan/volume no longer adjusts the
master pan and volume.
[Fix] [Win] Sound: Setting a sound\'s volume or pan before playing the
sound no longer sets the master volume and pan.
[New] [IDE] Sounds: Sounds in the project now work.
[New] [All] SpecialFolder: Added a new module called SpecialFolder that
contains all of the special FolderItems for the platforms
we support.\r\rThese functions can (and frequently do)
return nil if there is not a mapping for that FolderItem on
a particular system, so test for nil after getting the
FolderItem.\r\rOn the Mac, you can pass in a four-char code
to the GetFromCode function to have a specific special
FolderItem returned to you.
[New] [IDE] Splitters: Various splitters in the IDE (such as the
divider between the project list and the properties list on
the Project tab) can now be toggled open or closed by
double-clicking them.
[Fix] [Lnx] SpriteSurface: No longer relies on a GTK 2.2 feature.
[New] [IDE] SSLSocket: Now supported.
[Fix] [OSX] StaticText: Fixed weird mouse click origin shifting problem
that occurred when you had an empty single line statictext
on a composite window using Mac OS X 10.2. (Feedback ID:
ommopzsl)
[Fix] [Win] StaticText: Now drawing its captions properly with regards
to keyboard mnemonics on Windows 2000 and up.
[New] [All] String Functions: Added NthFieldB, CountFieldsB, and
SplitB. They take the same parameters as NthField,
CountFields, and Split respectively, and behave the same
except that they treat the strings as binary data.
(Feedback ID: qzxxzqzf)
[Fix] [All] StyledText: Now fires the TextChanged event properly on all
platforms (Feedback ID: wpxinmmz)
[Fix] [All] StyledText: Now throws an OutOfBoundsException when trying
to access an invalid index via StyledText.StyleRun instead
of throwing an assertion. (Feedback ID: gquygcoc)
[Fix] [Car] StyledTextPrinter: No longer prints outside the bounds of
the graphics context you're drawing in (for example, a
canvas). (Feedback ID: fauczbbq)
[New] [All] System: Added a new module named Cursors to the System
class. This class contains stock cursors for your
application to use. The new cursors are listed in the New
Cursors.txt readme.
[New] [All] System: Added a new variation to the SerialPort method call
that takes a path. On OS X and Linux, this path is the
path to the device file corresponding to the serial device
(eg: /dev/ttyS0). On Windows, this can be the COM port you
want opened (eg: COM1).
[New] [All] System: Added the method IsFunctionAvailable( functionName
as String, libraryName as String ) as Boolean\r\rCalling
this function will attempt to load the function from the
given library. If the function can be loaded properly,
this will return true. Otherwise it will return false.
[Fix] [OSX] System: CommandLine now returns the command line for Mach-O
GUI applications (used to only work for Mach-O command line
applications).
[Fix] [Win] System: PPPConnect no longer causes a crash on Windows 98
and ME when attempting to connect. (Feedback ID: qwfguwcr)
[Fix] [All] System: SerialPort now raises an OutOfBoundsException when
trying to access indicies that are out of bounds. (Feedback
ID: kicoyqly)
[Fix] [Win] System: Using .Log no longer puts a bunch of error text in
with your log string. (Feedback ID: ofcakiin)
[Fix] [All] System.Log: No longer crashes when given a % sign in the
logging string. This affects OS X and Linux. (Feedback ID:
vjjilwwg)
[New] [All] System.Network: Added a new module named Network to the
system class with some new networking
functionality.\r\rLookupIPAddress( dnsAddress as String )
as String will look up an IP address based on a DNS address
that you pass in.\r\rLookupDNSAddress( ipAddress as String)
as String will look up a DNS address based on an IP address
that you pass in.\r\rBoth functions will return empty
strings on errors (malformed addresses), but return the
string passed in if the address could not be resovled.
(Feedback ID: fjxensch)
[New] [All] System.Network: Added the .IsConnected method to let you
know whether the computer is connected to a network.
Another way to look at this is: if this property is false,
then using sockets may cause a dial-up to occur. Note that
this function is not supported on Linux and will return
false on that platform. (Feedback ID: kjrlcjnm)
[New] [IDE] Tab Bar: You can now close tabs with Close Tab menu command
(or its keyboard shortcut). When closing the last open
tab, the window is closed. Also, if you try closing the
ProjectItem list tab, the window is closed.
[New] [All] TabPanel: Added new methods to Append, Insert, and Remove
tabs.\r\rAppend( caption As String ) -- appends a new tab
with the specified caption\r\rInsert( index As Integer,
caption As String ) -- inserts a new tab at the specified
index with the caption.\r\rRemove( index As Integer ) --
deletes the tab at the specified index. This will also
delete all controls within that tab. (Feedback ID:
zlnogzht)
[Chg] [All] TabPanel: If the Value is greater than the number of tabs,
an OutOfBounds exception will be thrown.
[Fix] [Lnx] TabPanel: The GotFocus and LostFocus events are now
triggered properly. (Feedback ID: ldnodydp)
[Fix] [All] TabPanel.PanelCount: Now returns the correct number of
tabs. (Feedback ID: cjgqsiwu)
[Fix] [All] TCPSocket and subclasses: Trying to connect to a blocked
port no longer results in a StackOverflowException when you
have a MsgBox in the Error event to report the error.
(Feedback ID: koachfyg)
[Fix] [All] TCPSocket: No longer causing a StackOverflowException to
occur when trying to get the remote address from the Error
event. (Feedback ID: phiyxuxp)
[Fix] [All] TCPSocket: No longer crashes when an orphaned socket
recieves an error while polling and the error causes the
socket to be destroyed.
[Opt] [All] TCPSocket: Optimized socket send and receive speeds. You
should see around a 30% speed increase with large files.
[Fix] [All] TCPSocket, UDPSocket: No longer has event reentrancy
problems caused by having expensive for loops in a socket
event. for example, the AddSocket event no longer fires
forever when you have a large for loop in it. (Feedback ID:
esgmzccm)
[New] [All] Thread Locking Mechanisms: Now all have a TrySignal and
TryEnter methods to attempt to obtain a lock on the
mechanism. If the lock is obtained, the function returns
true. If the lock cannot be obtained, the function does
not cause the thread to block and returns false.
[Fix] [All] Thread: Now fires a ThreadAlreadyRunningException when you
try to call Run on a thread that is currently running.
[New] [All] Threads: Added new properties: Priority and State. Added
new methods Suspend, Resume and Sleep. Added new
constants. Please see the Threads.txt readme for more
information.
[New] [All] Threads: Added the state constant NotRunning = 4 for
testing the state of a thread. This is the state that the
thread will be in before you call the Run method or after
the Run event has finished executing.
[Fix] [Mac] Threads: AppleScript no longer gets confused when called
from a thread. (Feedback ID: mndxnpyg)
[New] [All] Threads: New method App.SleepCurrentThread( milliseconds )
that will sleep the current thread for the specified number
of milliseconds. This can be used from any thread.
[Fix] [Lnx] Threads: New pthreads-based Thread class implementation no
longer crashes (usually when redrawing controls or
otherwise tweaking the UI).
[Fix] [All] Threads: Now play much more nicely together. This problem
was made worse early in 2005, but this fix makes threads
behave better than in 5.5. (Feedback ID: boxjgviz)
[Fix] [Mac] Threads: Opening certain large PDF pictures in a thread no
longer causes a failed assertion. (Feedback ID: ircxtaou)
[Fix] [Win] Timers: Now function in Service applications on Windows.
(Feedback ID: qgynnbvh)
[Fix] [All] ToolbarItems: Calling .Close on a toolbar item no longer
removes that item and all subsequent items of the same
type. It only removes the proper closed item.
[New] [IDE] Toolbars: can now Show and Hide these via the View menu.
(Note for OS X users: Hiding the main toolbar via the menu
is different from hiding it via the toolbar widget; with
the menu, the rest of the window content expands to take up
the space vacated by the toolbar.)
[IDE] [New] Toolbars: now configurable (e.g. through the "Customize..."
option in the contextual menu). Note that changes are not
yet saved between runs of the IDE, and not all available
toolbar buttons have icons yet.
[New] [Win] TrayItem: Now can add items to the System Tray by using the
new TrayItem class. To add an item, use App.AddTrayItem(
item as TrayItem ) and to remove an item, use
App.RemoveTrayItem( item as TrayItem )\r\rIf you do not
specify an Icon for the TrayItem, your application\'s icon
will be used. You do not have to worry about calling
RemoveTrayItem when your application terminates since that
will be done for you automatically.\r\rPlease see the
example for more information on how to use this class.
(Feedback ID: xkukkynz)
[Fix] [Win] UDPSocket: Now trying to load the proper version of the
WinSock library for multicasting. Fixes more of the
spurious "42" errors on Windows.
[Fix] [Win] UDPSocket, EasyUDPSocket: .Bind now works again on Windows
98/ME. (Feedback ID: oqqnsfqz)
[Chg] [All] Variant: Can now change a string prefixed with &c or &h and
change it into a valid Color. (Feedback ID: tiqcfjei)
[Fix] [All] Variant: No longer throws a NilObjectException when calling
Variant.DateValue on a variant holding a nil date. This
matches the behavior of Variant.ObjectValue.
[Nte] [IDE] Visual Bindings: Forget what we said last time about
referring to these as "connections." We were just seeing
who was paying attention.
[New] [IDE] Window Editor: Now correctly shows controls that are part
of a control array.
[New] [IDE] Window Editor: Resizing the window now tries to snap to
controls near the edge of the window.
[New] [IDE] Window Editor: You can now select the child controls of a
container by holding down the Shift key while dragging (no
other controls can be selected before starting this type of
drag), or via a contextual menu item of the container
control.
[New] [IDE] Window Editor: You can now switch between Window Editor and
Code Editor modes on the Macintosh by pressing Option+Tab.
(On other platforms, the shortcut remains Ctrl+`.)
(Feedback ID: bvedxrpl)
[New] [IDE] Window Editor: "Current Controls" has been removed from the
control list pop-up menu; "Favorites" has been added. Use
contextual menus to add items from the other views to the
Favorites view, or to remove items from the Favorites
view.
[Fix] [Win] Window Event Ordering: The Resized event no longer fires
before the Open event on Windows. (Feedback ID: fbdyuqjt)
[New] [IDE] Window State: projects now save the size and position of
each window, along with which items were open. (Additional
UI state data may be stored in the future.)
[Fix] [Mac] Window: A movable modal window with the GrowIcon property
checked, can now be resized.
[New] [All] Window: Added three new methods: Maximize, Minimize and
Restore to control the state of the window at runtime.
(Feedback ID: pzlhfrwz)
[Fix] [Win] Window: Child windows are now properly closed when its
parent window is closed. (Feedback ID: qgnpfvqq)
[Dep] [All] Window: Deprecated GrowIcon, please use Resizeable instead.
Deprecated ZoomIcon, please use MaximizeButton instead.
Deprecated CloseBox, please use CloseButton instead.
Deprecated AcceptMacDataDrop, please use AcceptRawDataDrop
instead.
[Fix] [Win] Window: Floating windows now have their parent set in a
smarter fashion so that floaters which are hidden with the
parent get shown with the parent as well. (Feedback ID:
pbirvxqm)
[Fix] [Win] Window: In certain circumstances, hiding a window would
trigger a series of events which would somehow prevent the
window from being hidden, that event anomaly can no longer
happen. (Feedback ID: iqaxvgvu)
[New] [IDE] Window: It is now possible to add event definitions to
windows, which is quite useful for making custom controls
with embeddable windows.
[Fix] [Win] Window: Maximize, Minimize and Restore events all fire
properly when double-clicking the titlebar. (Feedback ID:
xznzakfl)
[Fix] [Win] Window: Now fires the Minimize event in all possible
situations. Was previously missing the event when the user
would hit Win+M to minimize all windows. (Feedback ID:
hhdewzai)
[Fix] [Lnx] Window: Resizing a window (when the window is not visible),
now properly resizes locked controls.
[Fix] [All] Window: Setting Window.MenuBar = nil no longer throw
assertions. (Feedback ID: phfcghxq)
[Fix] [Lnx] Window: When showing a modal window, such as a message box,
triggered from a document window, that modal window should
now float on top of the document window that triggered it,
rather than floating on top of the first document window
that was created (this caused the document windows to shift
Z-order as a modal window was shown).
[Fix] [Lnx] Window.MouseDown: Returning true from the window\'s
MouseDown event no longer prevents a click, on a PushButton
for example, froming receiving an Action event. (Feedback
ID: bzcfqbwe)
[Fix] [All] Window.ShowWithin: No longer crashes when the parent window
passed in is nil. (Feedback ID: tegqnuci)
[Fix] [IDE] XML Projects: No longer munging non-ASCII strings when
reading in XML projects (and project items) on Windows.
(Feedback ID: zinomydc)